From: Marion Guthmuller Date: Sun, 3 Jun 2012 07:00:48 +0000 (+0200) Subject: model-checker : free pointers X-Git-Tag: v3_8~652 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/7ccac3398f1658d2485cc95d22c5d0f2eeb0e003 model-checker : free pointers --- diff --git a/src/xbt/mmalloc/mm_diff.c b/src/xbt/mmalloc/mm_diff.c index 14adfa21b5..566e7d90fb 100644 --- a/src/xbt/mmalloc/mm_diff.c +++ b/src/xbt/mmalloc/mm_diff.c @@ -382,18 +382,37 @@ const char* get_addr_memory_map(void *addr, void* s_heap, void* r_heap){ if((addr > start_addr) && ( addr < end_addr)){ free(line); fclose(fp); - if(start_addr == s_heap) + if(start_addr == s_heap){ + xbt_dynar_reset(lfields); + xbt_free(lfields); + xbt_dynar_reset(start_end); + xbt_free(start_end); return "std_heap"; - if(start_addr == r_heap) + } + if(start_addr == r_heap){ + xbt_dynar_reset(lfields); + xbt_free(lfields); + xbt_dynar_reset(start_end); + xbt_free(start_end); return "raw_heap"; - if(xbt_dynar_length(lfields) == 6) + } + if(xbt_dynar_length(lfields) == 6){ return xbt_dynar_get_as(lfields, xbt_dynar_length(lfields) - 1, char*); - else + }else{ + xbt_dynar_reset(lfields); + xbt_free(lfields); + xbt_dynar_reset(start_end); + xbt_free(start_end); return "Anonymous"; + } } } + xbt_dynar_reset(lfields); + xbt_free(lfields); + xbt_dynar_reset(start_end); + xbt_free(start_end); free(line); fclose(fp); return "Unknown area";