From 7d9d171e4ed5121c249a724898c96f7fba8ac760 Mon Sep 17 00:00:00 2001 From: "T.J. Mercier" Date: Thu, 18 Apr 2024 16:05:56 +0000 Subject: [PATCH] libprocessgroup: Check validity of uid and pid arguments for createProcessGroup killProcessGroup already checks for validity of the uid and pid input arguments. Also add this checking to createProcessGroup. Bug: 333261173 Change-Id: Ie74b9c2716978cb5eb434af12e27945e29af876e --- libprocessgroup/processgroup.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libprocessgroup/processgroup.cpp b/libprocessgroup/processgroup.cpp index 7c555708e..44d8e441d 100644 --- a/libprocessgroup/processgroup.cpp +++ b/libprocessgroup/processgroup.cpp @@ -695,6 +695,15 @@ static int createProcessGroupInternal(uid_t uid, pid_t initialPid, std::string c } int createProcessGroup(uid_t uid, pid_t initialPid, bool memControl) { + 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"; return -EINVAL;