aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--NEWS8
-rw-r--r--malloc/arena.c2
3 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index b502c78..19cccdc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-06-26 Mel Gorman <mgorman@suse.de>
+
+ [BZ #18502]
+ * malloc/arena.c (heap_trim): Don't try to shrink a heap that is
+ already minimal.
+
2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
* elf/elf.h (DT_MIPS_RLD_MAP_REL): New macro.
diff --git a/NEWS b/NEWS
index 24f8c27..6bfb822 100644
--- a/NEWS
+++ b/NEWS
@@ -22,10 +22,10 @@ Version 2.22
18217, 18219, 18220, 18221, 18234, 18244, 18245, 18247, 18287, 18319,
18324, 18333, 18346, 18371, 18397, 18409, 18410, 18412, 18418, 18422,
18434, 18444, 18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497,
- 18498, 18507, 18512, 18513, 18519, 18520, 18522, 18527, 18528, 18529,
- 18530, 18532, 18533, 18534, 18536, 18539, 18540, 18542, 18544, 18545,
- 18546, 18547, 18549, 18553, 18558, 18569, 18583, 18585, 18586, 18593,
- 18594, 18602.
+ 18498, 18502, 18507, 18512, 18513, 18519, 18520, 18522, 18527, 18528,
+ 18529, 18530, 18532, 18533, 18534, 18536, 18539, 18540, 18542, 18544,
+ 18545, 18546, 18547, 18549, 18553, 18558, 18569, 18583, 18585, 18586,
+ 18593, 18594, 18602.
* Cache information can be queried via sysconf() function on s390 e.g. with
_SC_LEVEL1_ICACHE_SIZE as argument.
diff --git a/malloc/arena.c b/malloc/arena.c
index 2466697..21ecc5a1 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -699,7 +699,7 @@ heap_trim (heap_info *heap, size_t pad)
by preserving the top pad and at least a page. */
top_size = chunksize (top_chunk);
top_area = top_size - MINSIZE - 1;
- if (top_area <= pad)
+ if (top_area < 0 || (size_t) top_area <= pad)
return 0;
extra = ALIGN_DOWN(top_area - pad, pagesz);