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 2466697d1a..21ecc5a137 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); |