* malloc/malloc.c (public_cALLOc): We cannot skip the memory

clearing if perturb_byte != 0.
This commit is contained in:
Ulrich Drepper 2005-03-20 18:09:53 +00:00
parent 65fb0d2189
commit 56137dbc2d
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2005-03-20 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (public_cALLOc): We cannot skip the memory
clearing if perturb_byte != 0.
2005-03-20 Jakub Jelinek <jakub@redhat.com>
* posix/bits/unistd.h (pread) [__USE_FILE_OFFSET64]: Use __off64_t

View File

@ -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;
}