From 69a64e9b471ebb456f2807c1cc04652167da154a Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 13 Jul 2004 00:23:34 +0000 Subject: [BZ #263] 2004-07-12 Paul Eggert [BZ #263] * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Don't store outside the buffer if the read returns 0. __strtod_l can't set endp to NULL, so remove a test for that case. --- sysdeps/unix/sysv/linux/getloadavg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sysdeps/unix/sysv') diff --git a/sysdeps/unix/sysv/linux/getloadavg.c b/sysdeps/unix/sysv/linux/getloadavg.c index 6ef17fe0d0..6a521431ba 100644 --- a/sysdeps/unix/sysv/linux/getloadavg.c +++ b/sysdeps/unix/sysv/linux/getloadavg.c @@ -45,7 +45,7 @@ getloadavg (double loadavg[], int nelem) nread = read_not_cancel (fd, buf, sizeof buf - 1); close_not_cancel_no_status (fd); - if (nread < 0) + if (nread <= 0) return -1; buf[nread - 1] = '\0'; @@ -56,7 +56,7 @@ getloadavg (double loadavg[], int nelem) { char *endp; loadavg[i] = __strtod_l (p, &endp, &_nl_C_locobj); - if (endp == NULL || endp == p) + if (endp == p) /* This should not happen. The format of /proc/loadavg must have changed. Don't return with what we have, signal an error. */ -- cgit 1.4.1