From: alegrand Date: Mon, 16 Jun 2008 21:05:34 +0000 (+0000) Subject: Finally kill the memleak in the route parsing (I hope). X-Git-Tag: v3.3~361 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/5c883f29dd011df0640842b12436d6f5129efd6e Finally kill the memleak in the route parsing (I hope). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5623 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/surf/surfxml_parse.c b/src/surf/surfxml_parse.c index d8874a58fa..ef195630ab 100644 --- a/src/surf/surfxml_parse.c +++ b/src/surf/surfxml_parse.c @@ -506,7 +506,7 @@ static XBT_INLINE void surfxml_call_cb_functions(xbt_dynar_t cb_list) } static void parse_route_set_endpoints(void) { - route_link_list = xbt_dynar_new(sizeof(char *), &xbt_free_ref); + route_link_list = xbt_dynar_new(sizeof(char *), NULL); } static void init_data(void) @@ -832,6 +832,7 @@ void manage_route(xbt_dict_t routing_table, const char *route_name, int action, xbt_dynar_foreach(links, cpt, value) { xbt_dynar_push(route_link_list,&value); } + xbt_dynar_free(&links); break; case A_surfxml_route_action_POSTPEND: /* add existing links in front; links + route_link_list */ xbt_dynar_foreach(route_link_list, cpt, value) { @@ -841,6 +842,7 @@ void manage_route(xbt_dict_t routing_table, const char *route_name, int action, route_link_list = links; break; case A_surfxml_route_action_OVERRIDE: + xbt_dynar_free(&links); break; default:break; }