diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-03-16 02:55:55 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-03-16 02:55:55 +0100 |
commit | dfa7f7e139e465c7685fd530d61a52c41184bcde (patch) | |
tree | 6329c6a316fc18be850b80149708cd49444d3462 | |
parent | f9b72cd804f99222cf999c63eb3610a7f54bbf2c (diff) |
main: check if we have a valid PID before getting the name of it
-rw-r--r-- | src/kmsg-syslogd.c | 4 | ||||
-rw-r--r-- | src/manager.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/kmsg-syslogd.c b/src/kmsg-syslogd.c index 4edb16136b..c78011fe22 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 df75eca8c4..9edb8f09bb 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)); |