From: Ondřej Bílka Date: Fri, 1 Nov 2013 14:39:26 +0000 (+0100) Subject: Fix malloc_info statistic. Fixes bug 16112 X-Git-Tag: glibc-2.19~546 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b35e35d0f4eae28a47c23e2aa15ddf570fa86ef;p=thirdparty%2Fglibc.git Fix malloc_info statistic. Fixes bug 16112 --- diff --git a/ChangeLog b/ChangeLog index 34eacc9322a..7629934aa70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-11-01 Ondřej Bílka + + [BZ #16112] + * malloc/malloc (malloc_info): Do not handle first bin as + special case. + 2013-11-01 Chris Leonard * locale/iso-639.def: Add Central Nahuatl (nhn). diff --git a/NEWS b/NEWS index f24d3295e03..38ed4404baf 100644 --- a/NEWS +++ b/NEWS @@ -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 29796fe4618..897c43a39d9 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;