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);