From 9c7978f95ac67b3e1eae64dcfc05d3d0e6e27a2d Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Thu, 5 Dec 2013 18:09:17 +0100 Subject: [PATCH 1/1] Delete temporary strings. Fixes memory leak. --- src/surf/surf_routing_vivaldi.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/surf/surf_routing_vivaldi.cpp b/src/surf/surf_routing_vivaldi.cpp index 6f4179198c..92e3bb2ecd 100644 --- a/src/surf/surf_routing_vivaldi.cpp +++ b/src/surf/surf_routing_vivaldi.cpp @@ -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; -- 2.20.1