diff --git a/libprocessgroup/processgroup.cpp b/libprocessgroup/processgroup.cpp index 8df2805d9..387c104ff 100644 --- a/libprocessgroup/processgroup.cpp +++ b/libprocessgroup/processgroup.cpp @@ -520,8 +520,14 @@ static populated_status cgroupIsPopulated(int events_fd) { static int KillProcessGroup( uid_t uid, pid_t initialPid, int signal, bool once = false, std::chrono::steady_clock::time_point until = std::chrono::steady_clock::now() + 2200ms) { - CHECK_GE(uid, 0); - CHECK_GT(initialPid, 0); + if (uid < 0) { + LOG(ERROR) << __func__ << ": invalid UID " << uid; + return -1; + } + if (initialPid <= 0) { + LOG(ERROR) << __func__ << ": invalid PID " << initialPid; + return -1; + } // Always attempt to send a kill signal to at least the initialPid, at least once, regardless of // whether its cgroup exists or not. This should only be necessary if a bug results in the @@ -681,8 +687,14 @@ static int createProcessGroupInternal(uid_t uid, pid_t initialPid, std::string c } int createProcessGroup(uid_t uid, pid_t initialPid, bool memControl) { - CHECK_GE(uid, 0); - CHECK_GT(initialPid, 0); + if (uid < 0) { + LOG(ERROR) << __func__ << ": invalid UID " << uid; + return -1; + } + if (initialPid <= 0) { + LOG(ERROR) << __func__ << ": invalid PID " << initialPid; + return -1; + } if (memControl && !UsePerAppMemcg()) { LOG(ERROR) << "service memory controls are used without per-process memory cgroup support";