diff options
author | Ondřej Bílka <neleai@seznam.cz> | 2013-11-01 15:39:26 +0100 |
---|---|---|
committer | Ondřej Bílka <neleai@seznam.cz> | 2013-11-01 15:39:26 +0100 |
commit | 8b35e35d0f4eae28a47c23e2aa15ddf570fa86ef (patch) | |
tree | 4b9a50c8756f620f890cd88d6e93bba30151bea3 | |
parent | 8f5de63892b491856400a394632b46c3b1be642d (diff) | |
download | glibc-8b35e35d0f4eae28a47c23e2aa15ddf570fa86ef.tar glibc-8b35e35d0f4eae28a47c23e2aa15ddf570fa86ef.tar.gz glibc-8b35e35d0f4eae28a47c23e2aa15ddf570fa86ef.tar.bz2 glibc-8b35e35d0f4eae28a47c23e2aa15ddf570fa86ef.zip |
Fix malloc_info statistic. Fixes bug 16112
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | malloc/malloc.c | 20 |
3 files changed, 11 insertions, 17 deletions
@@ -1,3 +1,9 @@ +2013-11-01 Ondřej Bílka <neleai@seznam.cz> + + [BZ #16112] + * malloc/malloc (malloc_info): Do not handle first bin as + special case. + 2013-11-01 Chris Leonard <cjl@sugarlabs.org> * locale/iso-639.def: Add Central Nahuatl (nhn). @@ -17,7 +17,7 @@ Version 2.19 15847, 15849, 15855, 15856, 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897, 15905, 15909, 15917, 15919, 15921, 15923, 15939, 15948, 15963, 15966, 15988, 16032, 16034, 16036, 16037, 16041, - 16071, 16072, 16074, 16078. + 16071, 16072, 16074, 16078, 16112. * CVE-2012-4412 The strcoll implementation caches indices and rules for large collation sequences to optimize multiple passes. This cache diff --git a/malloc/malloc.c b/malloc/malloc.c index 29796fe461..897c43a39d 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -5049,23 +5049,11 @@ malloc_info (int options, FILE *fp) sizes[i].total = sizes[i].count * sizes[i].to; } - mbinptr bin = bin_at (ar_ptr, 1); - struct malloc_chunk *r = bin->fd; - if (r != NULL) - { - while (r != bin) - { - ++sizes[NFASTBINS].count; - sizes[NFASTBINS].total += r->size; - sizes[NFASTBINS].from = MIN (sizes[NFASTBINS].from, r->size); - sizes[NFASTBINS].to = MAX (sizes[NFASTBINS].to, r->size); - r = r->fd; - } - nblocks += sizes[NFASTBINS].count; - avail += sizes[NFASTBINS].total; - } - for (size_t i = 2; i < NBINS; ++i) + mbinptr bin; + struct malloc_chunk *r; + + for (size_t i = 1; i < NBINS; ++i) { bin = bin_at (ar_ptr, i); r = bin->fd; |