summaryrefslogtreecommitdiff
path: root/src/process.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2008-12-05 07:09:16 +0000
committerEli Zaretskii <eliz@gnu.org>2008-12-05 07:09:16 +0000
commit2fdc7d00310ccd6fc443ff14e60f6cca434fc657 (patch)
tree9bd9b713ab7f3e254e8142d30345ad7b553fa451 /src/process.c
parent248c026bbb979ac70bfd23e2551d129aed91582e (diff)
downloademacs-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.c11
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, "[");