projects
/
oweals
/
gnunet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
93a7b9f
)
- fix use after free on shutdown (#3112)
author
Bart Polot
<bart@net.in.tum.de>
Mon, 18 Nov 2013 14:34:11 +0000
(14:34 +0000)
committer
Bart Polot
<bart@net.in.tum.de>
Mon, 18 Nov 2013 14:34:11 +0000
(14:34 +0000)
src/mesh/gnunet-service-mesh_connection.c
patch
|
blob
|
history
diff --git
a/src/mesh/gnunet-service-mesh_connection.c
b/src/mesh/gnunet-service-mesh_connection.c
index a7af5eb60d362d3656807f6f53f79848c348eeee..d8d492826c8f7ba575a8ed10ff5ace58b9ebfd73 100644
(file)
--- a/
src/mesh/gnunet-service-mesh_connection.c
+++ b/
src/mesh/gnunet-service-mesh_connection.c
@@
-2077,6
+2077,7
@@
void
GMC_shutdown (void)
{
GNUNET_CONTAINER_multihashmap_destroy (connections);
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);
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);
/* Unregister from neighbors */
unregister_neighbors (c);