X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ee9810253992f05b05992b201a37acbb255a1dc0..b97aa8c4138dbbde8d81ff6a635eef0a304f0efe:/src/mc/mc_compare.c diff --git a/src/mc/mc_compare.c b/src/mc/mc_compare.c index 07550eb10a..36ff8b95bc 100644 --- a/src/mc/mc_compare.c +++ b/src/mc/mc_compare.c @@ -539,8 +539,10 @@ static int compare_local_variables(char *s1, char *s2, xbt_dynar_t heap_equals){ s_tokens2 = xbt_str_split(xbt_dynar_get_as(tokens2, cursor, char *), "="); if(xbt_dynar_length(s_tokens1) > 1 && xbt_dynar_length(s_tokens2) > 1){ if((strcmp(xbt_dynar_get_as(s_tokens1, 0, char *), "ip") == 0) && (strcmp(xbt_dynar_get_as(s_tokens2, 0, char *), "ip") == 0)){ - ip1 = xbt_dynar_get_as(s_tokens1, 1, char *); - ip2 = xbt_dynar_get_as(s_tokens2, 1, char *); + xbt_free(ip1); + xbt_free(ip2); + ip1 = strdup(xbt_dynar_get_as(s_tokens1, 1, char *)); + ip2 = strdup(xbt_dynar_get_as(s_tokens2, 1, char *)); } if(strcmp(xbt_dynar_get_as(s_tokens1, 1, char *), xbt_dynar_get_as(s_tokens2, 1, char *)) != 0){ /* Ignore this variable ? */ @@ -559,15 +561,20 @@ static int compare_local_variables(char *s1, char *s2, xbt_dynar_t heap_equals){ xbt_dynar_free(&s_tokens2); xbt_dynar_free(&tokens1); xbt_dynar_free(&tokens2); + xbt_free(ip1); + xbt_free(ip2); return 1; } } } xbt_dynar_free(&s_tokens1); xbt_dynar_free(&s_tokens2); + cursor++; } + xbt_free(ip1); + xbt_free(ip2); xbt_dynar_free(&tokens1); xbt_dynar_free(&tokens2); return 0;