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 ccb6ae8de1

Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
Jim Warner 2016-04-17 00:00:00 -05:00 committed by Craig Small
parent 81e0f15ac3
commit b4d21c74ac

View File

@ -197,8 +197,10 @@ PROCPS_EXPORT unsigned int procps_pid_length(void)
pid_length = DEFAULT_PID_LENGTH; pid_length = DEFAULT_PID_LENGTH;
if ((fp = fopen(PROCFS_PID_MAX, "r")) != NULL) { if ((fp = fopen(PROCFS_PID_MAX, "r")) != NULL) {
if (fgets(buf, 24, fp) != NULL) { if (fgets(pidbuf, sizeof(pidbuf), fp) != NULL) {
pid_length = strlen(buf); pid_length = strlen(pidbuf);
if (pidbuf[pid_length-1] == '\n')
--pid_length;
} }
fclose(fp); fclose(fp);
} }