Fix warning about sprintf() and NSTAT_HIST
The environment variable could contain format characters, causing
problems. Better to just use it directly.
diff --git a/misc/nstat.c b/misc/nstat.c
index 2e44ed2..4f73c62 100644
--- a/misc/nstat.c
+++ b/misc/nstat.c
@@ -445,7 +445,7 @@
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 @@
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);