aboutsummaryrefslogtreecommitdiff
path: root/src/dv
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-12-07 22:13:34 +0000
committerChristian Grothoff <christian@grothoff.org>2013-12-07 22:13:34 +0000
commitb8a6d40874c4ea36bd96d7f46ebc9c3e219f6ee5 (patch)
tree9c2ae8b713ec78620c3ce9d507e31db306a29598 /src/dv
parent0d934264e1c43e20159822baf675a4884857bfcc (diff)
downloadgnunet-b8a6d40874c4ea36bd96d7f46ebc9c3e219f6ee5.tar.gz
gnunet-b8a6d40874c4ea36bd96d7f46ebc9c3e219f6ee5.zip
-remove object from all_routes peer map before freeing it, should fix #3161
Diffstat (limited to 'src/dv')
-rw-r--r--src/dv/gnunet-service-dv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dv/gnunet-service-dv.c b/src/dv/gnunet-service-dv.c
index 9a8b0d575..c7d6a6f40 100644
--- a/src/dv/gnunet-service-dv.c
+++ b/src/dv/gnunet-service-dv.c
@@ -871,6 +871,10 @@ handle_direct_connect (struct DirectNeighbor *neighbor)
871 &neighbor->peer); 871 &neighbor->peer);
872 if (NULL != route) 872 if (NULL != route)
873 { 873 {
874 GNUNET_assert (GNUNET_YES ==
875 GNUNET_CONTAINER_multipeermap_remove (all_routes,
876 &neighbor->peer,
877 route));
874 send_disconnect_to_plugin (&neighbor->peer); 878 send_disconnect_to_plugin (&neighbor->peer);
875 release_route (route); 879 release_route (route);
876 GNUNET_free (route); 880 GNUNET_free (route);