From b4d21c74ac8b5514bc3619d534858d2b48879bb1 Mon Sep 17 00:00:00 2001 From: Jim Warner Date: Sun, 17 Apr 2016 00:00:00 -0500 Subject: [PATCH] library: correct the procps_pid_length() +1 distortion Unfortunately, reading that '/proc/sys/kernel/pid_max' file returns a newline, which we will now account for. [ also, we should use the existing dedicated buffer ] Reference(s): . original 'procps_pid_length' introduction commit ccb6ae8de14b0cde25b84369ef995bcd69cbf7b6 Signed-off-by: Jim Warner --- proc/sysinfo.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/proc/sysinfo.c b/proc/sysinfo.c index 0cd8759f..2189433b 100644 --- a/proc/sysinfo.c +++ b/proc/sysinfo.c @@ -197,8 +197,10 @@ PROCPS_EXPORT unsigned int procps_pid_length(void) pid_length = DEFAULT_PID_LENGTH; if ((fp = fopen(PROCFS_PID_MAX, "r")) != NULL) { - if (fgets(buf, 24, fp) != NULL) { - pid_length = strlen(buf); + if (fgets(pidbuf, sizeof(pidbuf), fp) != NULL) { + pid_length = strlen(pidbuf); + if (pidbuf[pid_length-1] == '\n') + --pid_length; } fclose(fp); } -- 2.40.0