summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kmsg-syslogd.c4
-rw-r--r--src/manager.c4
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));