diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-03-20 18:09:53 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-03-20 18:09:53 +0000 |
commit | 56137dbc2df4527d78e096999f08e10be9577ea3 (patch) | |
tree | 926c426322f168f2255a7ec9b4aeed5793ffb67e /malloc | |
parent | 65fb0d218921092f04d47db1c686951764da927b (diff) | |
download | glibc-56137dbc2df4527d78e096999f08e10be9577ea3.zip glibc-56137dbc2df4527d78e096999f08e10be9577ea3.tar.gz glibc-56137dbc2df4527d78e096999f08e10be9577ea3.tar.bz2 |
* malloc/malloc.c (public_cALLOc): We cannot skip the memory
clearing if perturb_byte != 0.
Diffstat (limited to 'malloc')
-rw-r--r-- | malloc/malloc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c index 44831bb..65be277 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -1,4 +1,4 @@ - /* Malloc implementation for multiple threads without lock contention. +/* Malloc implementation for multiple threads without lock contention. Copyright (C) 1996-2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Wolfram Gloger <wg@malloc.de> @@ -3691,14 +3691,14 @@ public_cALLOc(size_t n, size_t elem_size) /* Two optional cases in which clearing not necessary */ #if HAVE_MMAP - if (chunk_is_mmapped(p)) + if (perturb_byte == 0 && chunk_is_mmapped(p)) return mem; #endif csz = chunksize(p); #if MORECORE_CLEARS - if (p == oldtop && csz > oldtopsize) { + if (perturb_byte == 0 && (p == oldtop && csz > oldtopsize)) { /* clear only the bytes from non-freshly-sbrked memory */ csz = oldtopsize; } |