From dfa7f7e139e465c7685fd530d61a52c41184bcde Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 16 Mar 2011 02:55:55 +0100 Subject: [PATCH 1/1] main: check if we have a valid PID before getting the name of it --- src/kmsg-syslogd.c | 4 +++- src/manager.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/kmsg-syslogd.c b/src/kmsg-syslogd.c index 4edb16136..c78011fe2 100644 --- a/src/kmsg-syslogd.c +++ b/src/kmsg-syslogd.c @@ -354,7 +354,9 @@ static int write_message(Server *s, const char *buf, struct ucred *ucred) { /* Then, add process if set */ if (read_process(&buf, &iovec[i]) > 0) i++; - else if (ucred && get_process_name(ucred->pid, &process) >= 0) + else if (ucred && + ucred->pid > 0 && + get_process_name(ucred->pid, &process) >= 0) IOVEC_SET_STRING(iovec[i++], process); /* Skip the stored PID if we have a better one */ diff --git a/src/manager.c b/src/manager.c index df75eca8c..9edb8f09b 100644 --- a/src/manager.c +++ b/src/manager.c @@ -2070,7 +2070,9 @@ static int manager_process_signal_fd(Manager *m) { return -errno; } - get_process_name(sfsi.ssi_pid, &p); + if (sfsi.ssi_pid > 0) + get_process_name(sfsi.ssi_pid, &p); + log_debug("Received SIG%s from PID %lu (%s)", strna(signal_to_string(sfsi.ssi_signo)), (unsigned long) sfsi.ssi_pid, strna(p)); -- 2.30.2