From: Eli Zaretskii Date: Fri, 5 Dec 2008 07:09:16 +0000 (+0000) Subject: (procfs_system_process_attributes): Don't use cmd, cmdsize, and q without X-Git-Tag: emacs-pretest-23.0.90~1255 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2fdc7d00310ccd6fc443ff14e60f6cca434fc657;p=emacs.git (procfs_system_process_attributes): Don't use cmd, cmdsize, and q without initializing them first. --- 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, "[");