]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/commitdiff
Fix warning about sprintf() and NSTAT_HIST
authorStephen Hemminger <stephen.hemminger@vyatta.com>
Sat, 26 Dec 2009 18:21:13 +0000 (10:21 -0800)
committerStephen Hemminger <stephen.hemminger@vyatta.com>
Sat, 26 Dec 2009 18:21:13 +0000 (10:21 -0800)
The environment variable could contain format characters, causing
problems. Better to just use it directly.

misc/nstat.c

index 2e44ed25313d6ce0ecbc283e6f39f1b4c62e96a6..4f73c628d6e8f25712762aa87747d936620bc639 100644 (file)
@@ -445,7 +445,7 @@ static void usage(void)
 
 int main(int argc, char *argv[])
 {
-       char hist_name[128];
+       char *hist_name;
        struct sockaddr_un sun;
        FILE *hist_fp = NULL;
        int ch;
@@ -526,10 +526,10 @@ int main(int argc, char *argv[])
        patterns = argv;
        npatterns = argc;
 
-       if (getenv("NSTAT_HISTORY"))
-               snprintf(hist_name, sizeof(hist_name), getenv("NSTAT_HISTORY"));
-       else
+       if ((hist_name = getenv("NSTAT_HISTORY")) == NULL) {
+               hist_name = malloc(128);
                sprintf(hist_name, "/tmp/.nstat.u%d", getuid());
+       }
 
        if (reset_history)
                unlink(hist_name);