Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Delete temporary strings.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Thu, 5 Dec 2013 17:09:17 +0000 (18:09 +0100)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Thu, 5 Dec 2013 21:20:04 +0000 (22:20 +0100)
Fixes memory leak.

src/surf/surf_routing_vivaldi.cpp

index 6f41791..92e3bb2 100644 (file)
@@ -25,8 +25,12 @@ void AsVivaldi::getRouteAndLatency(RoutingEdgePtr src, RoutingEdgePtr dst, sg_pl
                  src->p_name, src->m_id, dst->p_name, dst->m_id);
 
   if(src->p_rcType == SURF_NETWORK_ELEMENT_AS) {
-    route->gw_src = (sg_routing_edge_t) xbt_lib_get_or_null(as_router_lib, ROUTER_PEER(src->p_name), ROUTING_ASR_LEVEL);
-    route->gw_dst = (sg_routing_edge_t) xbt_lib_get_or_null(as_router_lib, ROUTER_PEER(dst->p_name), ROUTING_ASR_LEVEL);
+    char *src_name = ROUTER_PEER(src->p_name);
+    char *dst_name = ROUTER_PEER(dst->p_name);
+    route->gw_src = (sg_routing_edge_t) xbt_lib_get_or_null(as_router_lib, src_name, ROUTING_ASR_LEVEL);
+    route->gw_dst = (sg_routing_edge_t) xbt_lib_get_or_null(as_router_lib, dst_name, ROUTING_ASR_LEVEL);
+    xbt_free(src_name);
+    xbt_free(dst_name);
   }
 
   double euclidean_dist;