Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[NS3] plug memory issue and cosmetics
authorLucas Schnorr <Lucas.Schnorr@imag.fr>
Thu, 8 Sep 2011 14:36:00 +0000 (16:36 +0200)
committerLucas Schnorr <Lucas.Schnorr@imag.fr>
Thu, 8 Sep 2011 14:56:12 +0000 (16:56 +0200)
src/surf/network_ns3.c
src/surf/ns3/ns3_interface.cc

index 576f4f1..7e669dc 100644 (file)
@@ -18,8 +18,6 @@ extern xbt_lib_t as_router_lib;
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_network_ns3, surf,
                                 "Logging specific to the SURF network NS3 module");
 
-#define MAX_LENGHT_IPV4 16 //255.255.255.255\0
-
 extern routing_global_t global_routing;
 extern xbt_dict_t dict_socket;
 
@@ -90,7 +88,7 @@ void parse_ns3_add_link(void)
 {
        XBT_DEBUG("NS3_ADD_LINK '%s'",A_surfxml_link_id);
 
-       if(!IPV4addr) IPV4addr = xbt_dynar_new(MAX_LENGHT_IPV4*sizeof(char),ns3_free_dynar);
+       if(!IPV4addr) IPV4addr = xbt_dynar_new(sizeof(char*),ns3_free_dynar);
 
        tmgr_trace_t bw_trace;
        tmgr_trace_t state_trace;
index 33ad694..fce98bc 100644 (file)
@@ -254,13 +254,13 @@ void * ns3_add_link(int src,int dst,char * bw,char * lat)
        free(adr);
        interfaces.Add(address.Assign (netA));
 
-       XBT_DEBUG("Have write '%s' for Node '%d'",transformIpv4Address(interfaces.GetAddress(interfaces.GetN()-2)),src);
-       xbt_dynar_set(IPV4addr,src,
-                       transformIpv4Address(interfaces.GetAddress(interfaces.GetN()-2)));
+       char *tmp = transformIpv4Address(interfaces.GetAddress(interfaces.GetN()-2));
+       XBT_DEBUG("Have write '%s' for Node '%d'",tmp,src);
+       xbt_dynar_set(IPV4addr,src,tmp);
 
-       XBT_DEBUG("Have write '%s' for Node '%d'",transformIpv4Address(interfaces.GetAddress(interfaces.GetN()-1)),dst);
-       xbt_dynar_set(IPV4addr,dst,
-                       transformIpv4Address(interfaces.GetAddress(interfaces.GetN()-1)));
+       tmp = transformIpv4Address(interfaces.GetAddress(interfaces.GetN()-1));
+       XBT_DEBUG("Have write '%s' for Node '%d'",tmp,dst);
+       xbt_dynar_set(IPV4addr,dst,tmp);
 
        if(number_of_links == 255){
                if(number_of_networks == 255)