From: Kamalesh Babulal Date: Thu, 28 Jul 2022 19:34:33 +0000 (-0600) Subject: api.c: check the bytes read in cgroup_register_unchanged_process() X-Git-Tag: v2.0.3~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67d073b8208f4e64c88777603e671bc8559cd599;p=thirdparty%2Flibcgroup.git api.c: check the bytes read in cgroup_register_unchanged_process() Fix ignoring the number of bytes read, warning reported by Coverity tool: CID 258288 (#1 of 1): Ignoring number of bytes read (CHECKED_RETURN). check_return: read(int, void *, size_t) returns the number of bytes read, but it is ignored. In cgroup_register_unchanged_process(), the number of byte read/written using read()/write() are ignored but coverity it warns about the read() only, let's fix it. Signed-off-by: Kamalesh Babulal Signed-off-by: Tom Hromatka (cherry picked from commit 9d266da61515bb47b889a93229302e545da207fe) --- diff --git a/src/api.c b/src/api.c index 4a451b49..e2eba8c2 100644 --- a/src/api.c +++ b/src/api.c @@ -5391,6 +5391,7 @@ int cgroup_register_unchanged_process(pid_t pid, int flags) int ret = 1; char buff[sizeof(CGRULE_SUCCESS_STORE_PID)]; struct sockaddr_un addr; + size_t ret_len; sk = socket(PF_UNIX, SOCK_STREAM, 0); if (sk < 0) @@ -5413,7 +5414,8 @@ int cgroup_register_unchanged_process(pid_t pid, int flags) if (write(sk, &flags, sizeof(flags)) < 0) goto close; - if (read(sk, buff, sizeof(buff)) < 0) + ret_len = read(sk, buff, sizeof(buff)); + if (ret_len != sizeof(buff)) goto close; if (strncmp(buff, CGRULE_SUCCESS_STORE_PID, sizeof(buff)))