diff options
author | Eli Zaretskii <eliz@gnu.org> | 2008-12-05 07:09:16 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2008-12-05 07:09:16 +0000 |
commit | 2fdc7d00310ccd6fc443ff14e60f6cca434fc657 (patch) | |
tree | 9bd9b713ab7f3e254e8142d30345ad7b553fa451 /src/process.c | |
parent | 248c026bbb979ac70bfd23e2551d129aed91582e (diff) | |
download | emacs-2fdc7d00310ccd6fc443ff14e60f6cca434fc657.tar.gz emacs-2fdc7d00310ccd6fc443ff14e60f6cca434fc657.tar.bz2 emacs-2fdc7d00310ccd6fc443ff14e60f6cca434fc657.zip |
(procfs_system_process_attributes): Don't use cmd, cmdsize, and q without
initializing them first.
Diffstat (limited to 'src/process.c')
-rw-r--r-- | src/process.c | 11 |
1 files changed, 8 insertions, 3 deletions
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, "["); |