From cc566b9bc751e61f0fd6f230dc401d34a655e5f2 Mon Sep 17 00:00:00 2001 From: markster Date: Sun, 12 Dec 2004 23:29:47 +0000 Subject: smsq issues (bug #3025) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4439 f38db490-d61c-443f-a65b-d21fe96a405b --- utils/smsq.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'utils') diff --git a/utils/smsq.c b/utils/smsq.c index 2f90b9de7..c256ff29c 100755 --- a/utils/smsq.c +++ b/utils/smsq.c @@ -3,7 +3,6 @@ #include #include #include -#include #include #include #include @@ -78,7 +77,7 @@ static char txqcheck (char *dir, char *queue, char subaddress, char *channel, ch 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 @@ static char txqcheck (char *dir, char *queue, char subaddress, char *channel, ch 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 @@ static char txqcheck (char *dir, char *queue, char subaddress, char *channel, ch 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 @@ static void rxqcheck (char *dir, char *queue, char *process) 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 @@ static void rxqcheck (char *dir, char *queue, char *process) 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 @@ main (int argc, const char *argv[]) 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) { -- cgit v1.2.3