From 896ebd6c705651abe0a6eedc9c6158a5db6e38d3 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Sat, 26 Dec 2009 10:21:13 -0800 Subject: [PATCH] Fix warning about sprintf() and NSTAT_HIST The environment variable could contain format characters, causing problems. Better to just use it directly. --- misc/nstat.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/misc/nstat.c b/misc/nstat.c index 2e44ed25..4f73c628 100644 --- a/misc/nstat.c +++ b/misc/nstat.c @@ -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);