diff options
Diffstat (limited to 'malloc/malloc.c')
-rw-r--r-- | malloc/malloc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c index 0755fd8f8d..39d5b3fa52 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -3503,6 +3503,10 @@ mremap_chunk(p, new_size) mchunkptr p; size_t new_size; /* Note the extra SIZE_SZ overhead as in mmap_chunk(). */ new_size = (new_size + offset + SIZE_SZ + page_mask) & ~page_mask; + /* No need to remap if the number of pages does not change. */ + if (size + offset == new_size) + return p; + cp = (char *)mremap((char *)p - offset, size + offset, new_size, MREMAP_MAYMOVE); |