Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Don't duplicate strings uselessly, and avoid memory leaks.
[simgrid.git] / src / surf / network.c
index fda3acd..634c897 100644 (file)
@@ -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,