- new_arena = mremap(arena->p, arena->len,
- len, MREMAP_MAYMOVE);
- assert(new_arena != MAP_FAILED);
+ new_p = mremap_wrapper(arena->p, old_len,
+ len, MREMAP_MAYMOVE);
+ assert(new_p != MAP_FAILED);
+
+ /*
+ * Zero the newly allocated memory. Since mmap() does not
+ * clearly specify if memory is zeroed or not (although it is
+ * very likely that it is), be extra careful by not expecting
+ * the new range to be zeroed by mremap.
+ */
+ bzero(new_p + old_len, len - old_len);