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.
This commit is contained in:
Will Newton 2014-06-13 16:37:12 +01:00
parent 91b84fe588
commit 51a7380b89
2 changed files with 8 additions and 0 deletions

View File

@ -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> 2014-06-19 Siddhesh Poyarekar <siddhesh@redhat.com>
* benchtests/Makefile ($(objpfx)bench-%.c): Remove $(.). * benchtests/Makefile ($(objpfx)bench-%.c): Remove $(.).

View File

@ -2749,6 +2749,9 @@ systrim (size_t pad, mstate av)
/* Release in pagesize units, keeping at least one page */ /* Release in pagesize units, keeping at least one page */
extra = (top_area - pad) & ~(pagesz - 1); extra = (top_area - pad) & ~(pagesz - 1);
if (extra == 0)
return 0;
/* /*
Only proceed if end of memory is where we last set it. Only proceed if end of memory is where we last set it.
This avoids problems if there were foreign sbrk calls. This avoids problems if there were foreign sbrk calls.