>From 1770bc4660a40265d6b9ee111f52e7c4c7ebb4c2 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 1 Jun 2020 17:57:27 -0700 Subject: [PATCH] getloadavg: fix double-increment bug * lib/getloadavg.c (getloadavg): Fix double-increment typo on Linux without glibc, Android, Cygwin. This fixes a bug I introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu. Problem and fix reported by Semen Verchenko in: https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html --- ChangeLog | 7 +++++++ lib/getloadavg.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5a07e5ae7..7e3e70852 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2020-06-01 Paul Eggert + getloadavg: fix double-increment bug + * lib/getloadavg.c (getloadavg): Fix double-increment typo on + Linux without glibc, Android, Cygwin. This fixes a bug I + introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu. + Problem and fix reported by Semen Verchenko in: + https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html + tempname: use getrandom, not getentropy This removes a dependency, as getentropy depends on getrandom. * lib/tempname.c: Include sys/random.h instead of unistd.h. diff --git a/lib/getloadavg.c b/lib/getloadavg.c index 61307d377..aeb7070cc 100644 --- a/lib/getloadavg.c +++ b/lib/getloadavg.c @@ -550,7 +550,7 @@ getloadavg (double loadavg[], int nelem) for (ptr++; '0' <= *ptr && *ptr <= '9'; ptr++) numerator = 10 * numerator + (*ptr - '0'), denominator *= 10; - loadavg[elem++] = numerator / denominator; + loadavg[elem] = numerator / denominator; } return elem; -- 2.17.1