[RFC][PATCH 1/4] malloc_info: mask out status bits when reporting chunk sizes [BZ #17039]
Ken Milmore
ken.milmore@gmail.com
Thu May 24 00:10:00 GMT 2018
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
More information about the Libc-alpha
mailing list