From 08ac8cf29005a988b7d8e8cc37223a60ab661f08 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Mon, 7 Nov 2011 23:21:33 +0100 Subject: [PATCH] Don't duplicate strings uselessly, and avoid memory leaks. --- src/surf/network.c | 13 +++++++++---- src/surf/workstation_ptask_L07.c | 11 ++++++++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/surf/network.c b/src/surf/network.c index fda3acd007..634c897839 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -200,7 +200,9 @@ static void net_parse_link_init(sg_platf_link_cbarg_t link) XBT_DEBUG("link_CM02"); if (link->policy == SURF_LINK_FULLDUPLEX) { - net_create_resource(bprintf("%s_UP", link->id), + char *link_id; + link_id = bprintf("%s_UP", link->id); + net_create_resource(link_id, link->bandwidth, link->bandwidth_trace, link->latency, @@ -209,7 +211,9 @@ static void net_parse_link_init(sg_platf_link_cbarg_t link) link->state_trace, link->policy, link->properties); - net_create_resource(bprintf("%s_DOWN", link->id), + xbt_free(link_id); + link_id = bprintf("%s_DOWN", link->id); + net_create_resource(link_id, link->bandwidth, link->bandwidth_trace, link->latency, @@ -219,8 +223,9 @@ static void net_parse_link_init(sg_platf_link_cbarg_t link) link->policy, NULL); /* FIXME: We need to deep copy the properties or * we won't be able to free it */ + xbt_free(link_id); } else { - net_create_resource(xbt_strdup(link->id), + net_create_resource(link->id, link->bandwidth, link->bandwidth_trace, link->latency, @@ -831,7 +836,7 @@ static void surf_network_model_init_internal(void) network_maxmin_system = lmm_system_new(); routing_model_create(sizeof(link_CM02_t), - net_create_resource(xbt_strdup("__loopback__"), + net_create_resource("__loopback__", 498000000, NULL, 0.000015, NULL, SURF_RESOURCE_ON, NULL, diff --git a/src/surf/workstation_ptask_L07.c b/src/surf/workstation_ptask_L07.c index 4425c74d05..0752e8846d 100644 --- a/src/surf/workstation_ptask_L07.c +++ b/src/surf/workstation_ptask_L07.c @@ -715,7 +715,9 @@ static void* ptask_link_create_resource(const char *name, static void ptask_parse_link_init(sg_platf_link_cbarg_t link) { if (link->policy == SURF_LINK_FULLDUPLEX) { - ptask_link_create_resource(bprintf("%s_UP", link->id), + char *link_id; + link_id = bprintf("%s_UP", link->id); + ptask_link_create_resource(link_id, link->bandwidth, link->bandwidth_trace, link->latency, @@ -724,6 +726,8 @@ static void ptask_parse_link_init(sg_platf_link_cbarg_t link) link->state_trace, link->policy, link->properties); + xbt_free(link_id); + link_id = bprintf("%s_DOWN", link->id); ptask_link_create_resource(bprintf("%s_DOWN", link->id), link->bandwidth, link->bandwidth_trace, @@ -735,8 +739,9 @@ static void ptask_parse_link_init(sg_platf_link_cbarg_t link) NULL); /* FIXME: We need to deep copy the * properties or we won't be able to free * it */ + xbt_free(link_id); } else { - ptask_link_create_resource(xbt_strdup(link->id), + ptask_link_create_resource(link->id, link->bandwidth, link->bandwidth_trace, link->latency, @@ -887,7 +892,7 @@ static void ptask_model_init_internal(void) ptask_maxmin_system = lmm_system_new(); routing_model_create(sizeof(link_L07_t), - ptask_link_create_resource(xbt_strdup("__loopback__"), + ptask_link_create_resource("__loopback__", 498000000, NULL, 0.000015, NULL, SURF_RESOURCE_ON, NULL, -- 2.20.1