From 9f0602d096fe3746a4e398b40b8fe8384f7851ec Mon Sep 17 00:00:00 2001 From: Marion Guthmuller Date: Sun, 3 Jun 2012 09:02:29 +0200 Subject: [PATCH] model-checker : free pointers --- src/mc/mc_liveness.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/mc/mc_liveness.c b/src/mc/mc_liveness.c index 08ee45f0f1..14e31b8e7f 100644 --- a/src/mc/mc_liveness.c +++ b/src/mc/mc_liveness.c @@ -69,18 +69,37 @@ const char* get_memory_map_addr(void *addr){ if((addr > start_addr) && ( addr < end_addr)){ free(line); fclose(fp); - if(start_addr == std_heap) + if(start_addr == std_heap){ + xbt_dynar_reset(lfields); + xbt_free(lfields); + xbt_dynar_reset(start_end); + xbt_free(start_end); return "std_heap"; - if(start_addr == raw_heap) + } + if(start_addr == raw_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"; -- 2.20.1