From 4abaee5d13a54c677cd132c481dbf7621f785fec Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Fri, 8 Jul 2016 13:28:16 +0900 Subject: [PATCH] Avoid getting the same default zone twice in a row. 847ff22 added a call to malloc_default_zone() before the main loop in register_zone, effectively making malloc_default_zone() called twice without any different outcome expected in the returned result. It is also called once at the beginning, and a second time at the end of the loop block. Instead, call it only once per iteration. --- src/zone.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/zone.c b/src/zone.c index ca235da4..9432f45a 100644 --- a/src/zone.c +++ b/src/zone.c @@ -246,7 +246,6 @@ register_zone(void) malloc_zone_register(&zone); do { - default_zone = malloc_default_zone(); /* * Unregister and reregister the default zone. On OSX >= 10.6, * unregistering takes the last registered zone and places it @@ -272,5 +271,7 @@ register_zone(void) malloc_zone_unregister(purgeable_zone); malloc_zone_register(purgeable_zone); } - } while (malloc_default_zone() != &zone); + + default_zone = malloc_default_zone(); + } while (default_zone != &zone); }