main: check if we have a valid PID before getting the name of it

This commit is contained in:
Lennart Poettering 2011-03-16 02:55:55 +01:00
parent f9b72cd804
commit dfa7f7e139
2 changed files with 6 additions and 2 deletions

View file

@ -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 */

View file

@ -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));