[Asterisk-cvs] asterisk/utils smsq.c,1.1,1.2

markster at lists.digium.com markster at lists.digium.com
Sun Dec 12 18:32:48 CST 2004


Update of /usr/cvsroot/asterisk/utils
In directory mongoose.digium.com:/tmp/cvs-serv11444/utils

Modified Files:
	smsq.c 
Log Message:
smsq issues (bug #3025)


Index: smsq.c
===================================================================
RCS file: /usr/cvsroot/asterisk/utils/smsq.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- smsq.c	11 Dec 2004 22:36:27 -0000	1.1
+++ smsq.c	12 Dec 2004 23:29:47 -0000	1.2
@@ -3,7 +3,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <malloc.h>
 #include <dirent.h>
 #include <string.h>
 #include <ctype.h>
@@ -78,7 +77,7 @@
    DIR *d;
    int ql = strlen (queue);
    struct dirent *fn;
-   sprintf (dirname, "sms/%s", dir);
+   snprintf (dirname, sizeof(dirname), "sms/%s", dir);
    d = opendir (dirname);
    if (!d)
       return 0;
@@ -101,7 +100,7 @@
       ql = p - queue;
       subaddress = p[1];
    }
-   sprintf (temp, "sms/.smsq-%d", getpid ());
+   snprintf (temp, sizeof(temp), "sms/.smsq-%d", getpid ());
    f = fopen (temp, "w");
    if (!f)
    {
@@ -149,7 +148,7 @@
       while (try < concurrent)
       {
          try++;
-         sprintf (ogname, "outgoing/smsq.%s.%s.%d", dir, queue, try);
+         snprintf(ogname, sizeof(ogname), "outgoing/smsq.%s.%s.%d", dir, queue, try);
          if (!link (temp, ogname))
          {                      // queued OK
             unlink (temp);
@@ -171,8 +170,8 @@
    DIR *d;
    int ql = strlen (queue);
    struct dirent *fn;
-   sprintf (temp, "sms/.smsq-%d", getpid ());
-   sprintf (dirname, "sms/%s", dir);
+   snprintf(temp, sizeof(temp), "sms/.smsq-%d", getpid ());
+   snprintf(dirname, sizeof(dirname), "sms/%s", dir);
    d = opendir (dirname);
    if (!d)
       return;
@@ -180,12 +179,12 @@
       if ((*fn->d_name != '.'
            && ((!ql && (p = strchr (fn->d_name, '.'))) || (ql && !strncmp (fn->d_name, queue, ql) && fn->d_name[ql] == '.'))))
       {                         /* process file */
-         char filename[NAME_MAX + 10];
+         char filename[1010];
          char line[1000];
          unsigned short ud[160];
          unsigned char udl = 0;
          FILE *f;
-         sprintf (filename, "sms/%s/%s", dir, fn->d_name);
+         snprintf (filename, sizeof(filename), "sms/%s/%s", dir, fn->d_name);
          if (rename (filename, temp))
             continue;           // cannot access file
          f = fopen (temp, "r");
@@ -648,10 +647,10 @@
         queuename[100],
        *dir = (mo ? rx ? "sms/morx" : "sms/motx" : rx ? "sms/mtrx" : "sms/mttx");
       FILE *f;
-      sprintf (temp, "sms/.smsq-%d", getpid ());
+      snprintf (temp, sizeof(temp), "sms/.smsq-%d", getpid ());
       mkdir ("sms", 0777);      // ensure directory exists
       mkdir (dir, 0777);        // ensure directory exists
-      sprintf (queuename, "%s/%s.%ld-%d", dir, *queue ? queue : "0", (long)time (0), getpid ());
+      snprintf (queuename, sizeof(queuename), "%s/%s.%ld-%d", dir, *queue ? queue : "0", (long)time (0), getpid ());
       f = fopen (temp, "w");
       if (!f)
       {




More information about the svn-commits mailing list