diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | malloc/arena.c | 2 |
3 files changed, 11 insertions, 5 deletions
@@ -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. @@ -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); |