summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2010-10-24 22:37:00 -0400
committerPetr Baudis <pasky@suse.cz>2010-11-09 02:43:15 +0100
commitfa55fd7e5b1da8bd2dddffab82931e2495e82435 (patch)
tree032c5f0a5ce4dbb57e1d4c9965024a1fd81f253d
parent7f5aef2309fe5eb482cfa37193a185905403f3a8 (diff)
downloadglibc-fa55fd7e5b1da8bd2dddffab82931e2495e82435.tar.gz
Fix perturbing in malloc on free.
(cherry picked from commit fdc0f374bcd2d0513569aa8d600f960e43e8af1d)
-rw-r--r--ChangeLog6
-rw-r--r--malloc/malloc.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b9b347ad08..a95b1821ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-10-24 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #12140]
+ * malloc/malloc.c (_int_free): Fill correct number of bytes when
+ perturbing.
+
2010-09-09 Andreas Schwab <schwab@redhat.com>
* Makeconfig (sysd-rules-patterns): Add rtld-%:rtld-%.
diff --git a/malloc/malloc.c b/malloc/malloc.c
index b1d43c6447..29c79923d1 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -4850,7 +4850,7 @@ _int_free(mstate av, mchunkptr p)
}
if (__builtin_expect (perturb_byte, 0))
- free_perturb (chunk2mem(p), size - SIZE_SZ);
+ free_perturb (chunk2mem(p), size - 2 * SIZE_SZ);
set_fastchunks(av);
fb = &fastbin (av, fastbin_index(size));
@@ -4938,7 +4938,7 @@ _int_free(mstate av, mchunkptr p)
}
if (__builtin_expect (perturb_byte, 0))
- free_perturb (chunk2mem(p), size - SIZE_SZ);
+ free_perturb (chunk2mem(p), size - 2 * SIZE_SZ);
/* consolidate backward */
if (!prev_inuse(p)) {