From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 0102F3853804; Wed, 23 Mar 2022 18:32:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0102F3853804 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Adhemerval Zanella To: glibc-cvs@sourceware.org Subject: [glibc] support: Fix support_process_state_wait path size calculation X-Act-Checkin: glibc X-Git-Author: Adhemerval Zanella X-Git-Refname: refs/heads/master X-Git-Oldrev: 2a16484a750361974ffb7a4faa22bec7afda2f46 X-Git-Newrev: 0374b487a71ad07005a816191dca829a7e6cdcae Message-Id: <20220323183242.0102F3853804@sourceware.org> Date: Wed, 23 Mar 2022 18:32:42 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2022 18:32:42 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0374b487a71ad07005a816191dca829a7e6cdcae commit 0374b487a71ad07005a816191dca829a7e6cdcae Author: Adhemerval Zanella Date: Thu Mar 10 16:49:08 2022 -0300 support: Fix support_process_state_wait path size calculation Use INT_STRLEN_BOUND to proper get the maximum pid_t size. Also fix the wrong calculation (the 3 should multiply the sizeof (pid_t)). Checked on x86_64-linux-gnu. Diff: --- support/support_process_state.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/support/support_process_state.c b/support/support_process_state.c index 0dc608b468..ca86dc11e6 100644 --- a/support/support_process_state.c +++ b/support/support_process_state.c @@ -21,6 +21,7 @@ #include #include +#include #include #include @@ -49,7 +50,7 @@ support_process_state_wait (pid_t pid, enum support_process_state state) { support_process_state_parked, 'P' }, }; - char spath[sizeof ("/proc/" + 3) * sizeof (pid_t) + sizeof ("/status") + 1]; + char spath[sizeof ("/proc/") + INT_STRLEN_BOUND (pid_t) + sizeof ("/status") + 1]; snprintf (spath, sizeof (spath), "/proc/%i/status", pid); FILE *fstatus = xfopen (spath, "r");