summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-03-10 16:49:08 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-03-23 15:28:18 -0300
commit0374b487a71ad07005a816191dca829a7e6cdcae (patch)
tree392ae61a9ebdbab406b51036a87cc6a9cd886507
parent2a16484a750361974ffb7a4faa22bec7afda2f46 (diff)
downloadglibc-0374b487a71ad07005a816191dca829a7e6cdcae.tar.gz
glibc-0374b487a71ad07005a816191dca829a7e6cdcae.tar.xz
glibc-0374b487a71ad07005a816191dca829a7e6cdcae.zip
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.
-rw-r--r--support/support_process_state.c3
1 files changed, 2 insertions, 1 deletions
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 <string.h>
 
 #include <array_length.h>
+#include <intprops.h>
 
 #include <support/process_state.h>
 #include <support/xstdio.h>
@@ -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");