From 9ea9af192bf0c2991db6e74cc95d83a69b02cf08 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 12 Sep 2005 14:02:35 +0000 Subject: * malloc/malloc.c (struct malloc_chunk): Fix comment typo. (public_cALLOc): For mmapped chunks and perturb_byte != 0, don't clear SIZE_SZ bytes more than should be cleared. --- ChangeLog | 6 ++++++ malloc/malloc.c | 10 +++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 47ced66..91d9025 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-09-12 Jakub Jelinek + + * malloc/malloc.c (struct malloc_chunk): Fix comment typo. + (public_cALLOc): For mmapped chunks and perturb_byte != 0, + don't clear SIZE_SZ bytes more than should be cleared. + 2005-09-09 Jakub Jelinek * inet/getnetgrent_r.c: Include assert. diff --git a/malloc/malloc.c b/malloc/malloc.c index 65be277..64050b4 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -1726,7 +1726,7 @@ struct malloc_chunk { mem-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | User data starts here... . . . - . (malloc_usable_space() bytes) . + . (malloc_usable_size() bytes) . . | nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Size of chunk | @@ -3691,8 +3691,12 @@ public_cALLOc(size_t n, size_t elem_size) /* Two optional cases in which clearing not necessary */ #if HAVE_MMAP - if (perturb_byte == 0 && chunk_is_mmapped(p)) - return mem; + if (chunk_is_mmapped (p)) + { + if (__builtin_expect (perturb_byte, 0)) + MALLOC_ZERO (mem, sz); + return mem; + } #endif csz = chunksize(p); -- cgit v1.1