tree-wide: use pid_is_valid() at more places

This commit is contained in:
Lennart Poettering 2017-08-31 10:25:06 +02:00
parent 702b64846e
commit ee043777be
5 changed files with 12 additions and 10 deletions

View file

@ -475,7 +475,7 @@ static int get_process_id(pid_t pid, const char *field, uid_t *uid) {
assert(field); assert(field);
assert(uid); assert(uid);
if (pid < 0) if (!pid_is_valid(pid))
return -EINVAL; return -EINVAL;
p = procfs_file_alloca(pid, "status"); p = procfs_file_alloca(pid, "status");
@ -788,7 +788,7 @@ int getenv_for_pid(pid_t pid, const char *field, char **_value) {
bool pid_is_unwaited(pid_t pid) { bool pid_is_unwaited(pid_t pid) {
/* Checks whether a PID is still valid at all, including a zombie */ /* Checks whether a PID is still valid at all, including a zombie */
if (pid < 0) if (!pid_is_valid(pid))
return false; return false;
if (pid <= 1) /* If we or PID 1 would be dead and have been waited for, this code would not be running */ if (pid <= 1) /* If we or PID 1 would be dead and have been waited for, this code would not be running */
@ -808,7 +808,7 @@ bool pid_is_alive(pid_t pid) {
/* Checks whether a PID is still valid and not a zombie */ /* Checks whether a PID is still valid and not a zombie */
if (pid < 0) if (!pid_is_valid(pid))
return false; return false;
if (pid <= 1) /* If we or PID 1 would be a zombie, this code would not be running */ if (pid <= 1) /* If we or PID 1 would be a zombie, this code would not be running */
@ -827,7 +827,7 @@ bool pid_is_alive(pid_t pid) {
int pid_from_same_root_fs(pid_t pid) { int pid_from_same_root_fs(pid_t pid) {
const char *root; const char *root;
if (pid < 0) if (!pid_is_valid(pid))
return false; return false;
if (pid == 0 || pid == getpid_cached()) if (pid == 0 || pid == getpid_cached())

View file

@ -446,7 +446,7 @@ static int method_get_unit_by_pid(sd_bus_message *message, void *userdata, sd_bu
r = sd_bus_message_read(message, "u", &pid); r = sd_bus_message_read(message, "u", &pid);
if (r < 0) if (r < 0)
return r; return r;
if (pid < 0) if (!pid_is_valid((pid_t) pid))
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid PID " PID_FMT, pid); return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid PID " PID_FMT, pid);
if (pid == 0) { if (pid == 0) {

View file

@ -344,7 +344,7 @@ static int method_get_session_by_pid(sd_bus_message *message, void *userdata, sd
r = sd_bus_message_read(message, "u", &pid); r = sd_bus_message_read(message, "u", &pid);
if (r < 0) if (r < 0)
return r; return r;
if (pid < 0) if (!pid_is_valid((pid_t) pid))
return -EINVAL; return -EINVAL;
if (pid == 0) { if (pid == 0) {
@ -407,7 +407,7 @@ static int method_get_user_by_pid(sd_bus_message *message, void *userdata, sd_bu
r = sd_bus_message_read(message, "u", &pid); r = sd_bus_message_read(message, "u", &pid);
if (r < 0) if (r < 0)
return r; return r;
if (pid < 0) if (!pid_is_valid((pid_t) pid))
return -EINVAL; return -EINVAL;
if (pid == 0) { if (pid == 0) {

View file

@ -199,7 +199,7 @@ static int method_get_machine_by_pid(sd_bus_message *message, void *userdata, sd
if (r < 0) if (r < 0)
return r; return r;
if (pid < 0) if (!pid_is_valid((pid_t) pid))
return -EINVAL; return -EINVAL;
if (pid == 0) { if (pid == 0) {

View file

@ -3348,8 +3348,10 @@ static int logind_check_inhibitors(enum action a) {
if (!sv) if (!sv)
return log_oom(); return log_oom();
if ((pid_t) pid < 0) if (!pid_is_valid((pid_t) pid)) {
return log_error_errno(ERANGE, "Bad PID %"PRIu32": %m", pid); log_error("Invalid PID %" PRIu32 ".", pid);
return -ERANGE;
}
if (!strv_contains(sv, if (!strv_contains(sv,
IN_SET(a, IN_SET(a,