- fix use after free on shutdown (#3112)
authorBart Polot <bart@net.in.tum.de>
Mon, 18 Nov 2013 14:34:11 +0000 (14:34 +0000)
committerBart Polot <bart@net.in.tum.de>
Mon, 18 Nov 2013 14:34:11 +0000 (14:34 +0000)
src/mesh/gnunet-service-mesh_connection.c

index a7af5eb60d362d3656807f6f53f79848c348eeee..d8d492826c8f7ba575a8ed10ff5ace58b9ebfd73 100644 (file)
@@ -2077,6 +2077,7 @@ void
 GMC_shutdown (void)
 {
   GNUNET_CONTAINER_multihashmap_destroy (connections);
+  connections = NULL;
 }
 
 
@@ -2145,6 +2146,10 @@ GMC_destroy (struct MeshConnection *c)
     GNUNET_SCHEDULER_cancel (c->fwd_maintenance_task);
   if (GNUNET_SCHEDULER_NO_TASK != c->bck_maintenance_task)
     GNUNET_SCHEDULER_cancel (c->bck_maintenance_task);
+  if (GNUNET_SCHEDULER_NO_TASK != c->fwd_fc.poll_task)
+    GNUNET_SCHEDULER_cancel (c->fwd_fc.poll_task);
+  if (GNUNET_SCHEDULER_NO_TASK != c->bck_fc.poll_task)
+    GNUNET_SCHEDULER_cancel (c->bck_fc.poll_task);
 
   /* Unregister from neighbors */
   unregister_neighbors (c);