From 2fdc7d00310ccd6fc443ff14e60f6cca434fc657 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 5 Dec 2008 07:09:16 +0000 Subject: [PATCH] (procfs_system_process_attributes): Don't use cmd, cmdsize, and q without initializing them first. --- src/ChangeLog | 5 +++++ src/process.c | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index c6cedc1acd2..6a40e75226c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2008-12-05 Eli Zaretskii + + * process.c (procfs_system_process_attributes): Don't use cmd, + cmdsize, and q without initializing them first. + 2008-12-04 Jason Rumney * w32font.c (w32font_draw): Initialize orig_clip before getting diff --git a/src/process.c b/src/process.c index b8e390ed39f..b5d2f3d4c9f 100644 --- a/src/process.c +++ b/src/process.c @@ -7246,9 +7246,9 @@ procfs_system_process_attributes (pid) char procbuf[1025], *p, *q; int fd; ssize_t nread; - const char *cmd; + const char *cmd = NULL; char *cmdline = NULL; - size_t cmdsize, cmdline_size; + size_t cmdsize = 0, cmdline_size; unsigned char c; int proc_id, ppid, uid, gid, pgrp, sess, tty, tpgid, thcount; unsigned long long utime, stime, cutime, cstime, start; @@ -7300,7 +7300,6 @@ procfs_system_process_attributes (pid) procbuf[nread] = '\0'; p = procbuf; - cmd = NULL; p = strchr (p, '('); if (p != NULL) { @@ -7312,6 +7311,8 @@ procfs_system_process_attributes (pid) cmdsize = q - cmd; } } + else + q = NULL; if (cmd == NULL) { cmd = "???"; @@ -7452,6 +7453,10 @@ procfs_system_process_attributes (pid) } else { + if (!cmd) + cmd = "???"; + if (!cmdsize) + cmdsize = strlen (cmd); cmdline_size = cmdsize + 2; cmdline = xmalloc (cmdline_size + 1); strcpy (cmdline, "["); -- 2.39.2