Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix a leak in XML parsing
[simgrid.git] / src / surf / xml / surfxml_sax_cb.cpp
index 63c8c76..68ff372 100644 (file)
@@ -739,6 +739,7 @@ void ETag_surfxml_route(void){
   }
 
   sg_platf_new_route(&route);
+  delete route.link_list;
   xbt_dynar_free(&parsed_link_list);
 }
 
@@ -780,6 +781,7 @@ void ETag_surfxml_ASroute(void){
   }
 
   sg_platf_new_route(&ASroute);
+  delete ASroute.link_list;
 }
 
 void ETag_surfxml_bypassRoute(void){
@@ -904,7 +906,7 @@ void ETag_surfxml_config(void){
   xbt_dict_foreach(current_property_set, cursor, key, elem) {
     cfg = bprintf("%s:%s",key,elem);
     if(xbt_cfg_is_default_value(key))
-      xbt_cfg_set_parse(simgrid_config, cfg);
+      xbt_cfg_set_parse(cfg);
     else
       XBT_INFO("The custom configuration '%s' is already defined by user!",key);
     free(cfg);
@@ -949,6 +951,12 @@ void ETag_surfxml_process(void){
   }
 
   sg_platf_new_process(&process);
+
+  for (int i = 0; i != argc; ++i)
+    xbt_free(argv[i]);
+  xbt_free(argv);
+  argv = nullptr;
+
   current_property_set = nullptr;
 }