aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-09-12 14:02:35 +0000
committerUlrich Drepper <drepper@redhat.com>2005-09-12 14:02:35 +0000
commit9ea9af192bf0c2991db6e74cc95d83a69b02cf08 (patch)
tree192f727cd70221e3793e57e45f5119dd4f20d801
parentff3cacc50c42290ff76922257247c95f27fa3736 (diff)
downloadglibc-9ea9af192bf0c2991db6e74cc95d83a69b02cf08.tar
glibc-9ea9af192bf0c2991db6e74cc95d83a69b02cf08.tar.gz
glibc-9ea9af192bf0c2991db6e74cc95d83a69b02cf08.tar.bz2
glibc-9ea9af192bf0c2991db6e74cc95d83a69b02cf08.zip
* 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.
-rw-r--r--ChangeLog6
-rw-r--r--malloc/malloc.c10
2 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 47ced660ad..91d90259c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ * 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 <jakub@redhat.com>
* inet/getnetgrent_r.c: Include assert.
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 65be277097..64050b4266 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);