This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[RFC][PATCH 1/4] malloc_info: mask out status bits when reporting chunk sizes [BZ #17039]
- From: Ken Milmore <ken dot milmore at gmail dot com>
- To: libc-alpha at sourceware dot org, Carlos O'Donell <carlos at redhat dot com>
- Date: Thu, 24 May 2018 01:10:27 +0100
- Subject: [RFC][PATCH 1/4] malloc_info: mask out status bits when reporting chunk sizes [BZ #17039]
When generating statistics for malloc_info(), use chunksize() instead of
chunksize_nomask() to ensure the flag bits are stripped from the LSBs
of free chunk sizes. Previously, the flag bits were contributing a few
bytes of error per chunk, which could add up to a sizeable error when
summed together across the entire heap.
[BZ #17039]
* malloc/malloc.c (__malloc_info): Mask out status bits when
reporting chunk sizes.
---
malloc/malloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 9614954975..c0f1b26e1e 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -5467,7 +5467,7 @@ __malloc_info (int options, FILE *fp)
if (r != NULL)
while (r != bin)
{
- size_t r_size = chunksize_nomask (r);
+ size_t r_size = chunksize (r);
++sizes[NFASTBINS - 1 + i].count;
sizes[NFASTBINS - 1 + i].total += r_size;
sizes[NFASTBINS - 1 + i].from
--
2.11.0