Author: aurel32 Date: 2010-01-14 22:21:11 +0000 (Thu, 14 Jan 2010) New Revision: 4082
Added: glibc-package/trunk/debian/patches/any/cvs-malloc_info-init.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/series Log: * Add patches/any/cvs-malloc_info-init.diff to fix malloc_info() with no malloc() done. Closes: #562679. Modified: glibc-package/trunk/debian/changelog =================================================================== --- glibc-package/trunk/debian/changelog 2010-01-14 05:56:42 UTC (rev 4081) +++ glibc-package/trunk/debian/changelog 2010-01-14 22:21:11 UTC (rev 4082) @@ -4,6 +4,8 @@ * kfreebsd/local-sysdeps.diff: update to revision 2913 (from glibc-bsd). * Don't run the testsuite in parallel, as it sometimes causes some failures in some tests. + * Add patches/any/cvs-malloc_info-init.diff to fix malloc_info() with no + malloc() done. Closes: #562679. [ Samuel Thibault ] * patches/hurd-i386/local-pthread.diff: New hurd-only patch to provide @@ -16,7 +18,7 @@ * patches/hurd-i386/submitted-net.diff: New patch to factorize net/ files between Linux and Hurd. - -- Aurelien Jarno <aure...@debian.org> Thu, 14 Jan 2010 06:55:41 +0100 + -- Aurelien Jarno <aure...@debian.org> Thu, 14 Jan 2010 23:19:00 +0100 eglibc (2.10.2-5) unstable; urgency=low Added: glibc-package/trunk/debian/patches/any/cvs-malloc_info-init.diff =================================================================== --- glibc-package/trunk/debian/patches/any/cvs-malloc_info-init.diff (rev 0) +++ glibc-package/trunk/debian/patches/any/cvs-malloc_info-init.diff 2010-01-14 22:21:11 UTC (rev 4082) @@ -0,0 +1,76 @@ +2010-01-14 Ulrich Drepper <drep...@redhat.com> + + [BZ #11126] + * malloc/malloc.c (malloc_info): Initialize malloc if not already + done. Handle empty bin lists. + +diff --git a/malloc/malloc.c b/malloc/malloc.c +index ea10d17..b43e454 100644 +--- a/malloc/malloc.c ++++ b/malloc/malloc.c +@@ -6369,16 +6369,19 @@ malloc_info (int options, FILE *fp) + + mbinptr bin = bin_at (ar_ptr, 1); + struct malloc_chunk *r = bin->fd; +- while (r != bin) ++ if (r != NULL) + { +- ++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; ++ 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; + } +- nblocks += sizes[NFASTBINS].count; +- avail += sizes[NFASTBINS].total; + + for (size_t i = 2; i < NBINS; ++i) + { +@@ -6388,17 +6391,18 @@ malloc_info (int options, FILE *fp) + sizes[NFASTBINS - 1 + i].to = sizes[NFASTBINS - 1 + i].total + = sizes[NFASTBINS - 1 + i].count = 0; + +- while (r != bin) +- { +- ++sizes[NFASTBINS - 1 + i].count; +- sizes[NFASTBINS - 1 + i].total += r->size; +- sizes[NFASTBINS - 1 + i].from = MIN (sizes[NFASTBINS - 1 + i].from, ++ if (r != NULL) ++ while (r != bin) ++ { ++ ++sizes[NFASTBINS - 1 + i].count; ++ sizes[NFASTBINS - 1 + i].total += r->size; ++ sizes[NFASTBINS - 1 + i].from ++ = MIN (sizes[NFASTBINS - 1 + i].from, r->size); ++ sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to, + r->size); +- sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to, +- r->size); + +- r = r->fd; +- } ++ r = r->fd; ++ } + + if (sizes[NFASTBINS - 1 + i].count == 0) + sizes[NFASTBINS - 1 + i].from = 0; +@@ -6460,6 +6464,9 @@ malloc_info (int options, FILE *fp) + fputs ("</heap>\n", fp); + } + ++ if(__malloc_initialized < 0) ++ ptmalloc_init (); ++ + fputs ("<malloc version=\"1\">\n", fp); + + /* Iterate over all arenas currently in use. */ Modified: glibc-package/trunk/debian/patches/series =================================================================== --- glibc-package/trunk/debian/patches/series 2010-01-14 05:56:42 UTC (rev 4081) +++ glibc-package/trunk/debian/patches/series 2010-01-14 22:21:11 UTC (rev 4082) @@ -230,3 +230,4 @@ any/cvs-resolv-v6mapped.diff any/submitted-nis-shadow.diff any/local-no-SOCK_NONBLOCK.diff +any/cvs-malloc_info-init.diff -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org