Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[surf] Fix NetCard leak
authorGabriel Corona <gabriel.corona@loria.fr>
Mon, 30 May 2016 14:29:08 +0000 (16:29 +0200)
committerGabriel Corona <gabriel.corona@loria.fr>
Mon, 30 May 2016 14:29:08 +0000 (16:29 +0200)
src/surf/AsImpl.cpp
src/surf/surf_interface.cpp

index 12d2c2f..23b78aa 100644 (file)
@@ -19,7 +19,6 @@ namespace simgrid {
     }
     AsImpl::~AsImpl()
     {
-      delete netcard_;
     }
 
     xbt_dynar_t AsImpl::getOneLinkRoutes() {
index 65459ee..952cf79 100644 (file)
@@ -286,7 +286,9 @@ void surf_init(int *argc, char **argv)
 
   XBT_DEBUG("Add routing levels");
   ROUTING_PROP_ASR_LEVEL = xbt_lib_add_level(as_router_lib, NULL);
-  ROUTING_ASR_LEVEL = xbt_lib_add_level(as_router_lib, nullptr);
+  ROUTING_ASR_LEVEL = xbt_lib_add_level(as_router_lib, [](void* p) {
+    delete static_cast<simgrid::surf::NetCard*>(p);
+  });
 
   XBT_DEBUG("Add SURF levels");
   simgrid::surf::HostImpl::classInit();