diff options
author | Will Newton <will.newton@linaro.org> | 2014-06-13 16:37:12 +0100 |
---|---|---|
committer | Will Newton <will.newton@linaro.org> | 2014-06-19 14:34:08 +0100 |
commit | 51a7380b8968251a49a4c5b0bc7ed1af5b0512c6 (patch) | |
tree | fa60b24efaa944845bb679eb09cbdced8b6b337d | |
parent | 91b84fe588238289e734ee05cfff26482c8f56ac (diff) | |
download | glibc-51a7380b8968251a49a4c5b0bc7ed1af5b0512c6.tar.gz glibc-51a7380b8968251a49a4c5b0bc7ed1af5b0512c6.tar.xz glibc-51a7380b8968251a49a4c5b0bc7ed1af5b0512c6.zip |
malloc/malloc.c: Avoid calling sbrk unnecessarily with zero
Due to my bad review suggestion for the fix for BZ #15089 a check was removed from systrim to prevent sbrk being called with a zero argument. Add the check back to avoid this useless work. ChangeLog: 2014-06-19 Will Newton <will.newton@linaro.org> * malloc/malloc.c (systrim): If extra is zero then return early.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | malloc/malloc.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 2a11522a99..ea0c48f850 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-06-19 Will Newton <will.newton@linaro.org> + + * malloc/malloc.c (systrim): If extra is zero then return + early. + 2014-06-19 Siddhesh Poyarekar <siddhesh@redhat.com> * benchtests/Makefile ($(objpfx)bench-%.c): Remove $(.). diff --git a/malloc/malloc.c b/malloc/malloc.c index d8fd8b49e4..41fd76a29e 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -2749,6 +2749,9 @@ systrim (size_t pad, mstate av) /* Release in pagesize units, keeping at least one page */ extra = (top_area - pad) & ~(pagesz - 1); + if (extra == 0) + return 0; + /* Only proceed if end of memory is where we last set it. This avoids problems if there were foreign sbrk calls. |