diff options
author | Bart Polot <bart@net.in.tum.de> | 2012-01-24 03:03:35 +0000 |
---|---|---|
committer | Bart Polot <bart@net.in.tum.de> | 2012-01-24 03:03:35 +0000 |
commit | f8d1558a5e6ede02e8c7f17d634d5d61f0e63e3f (patch) | |
tree | bc748e6bc4f29acbf3005e131416b2ce271fcccd /src/mesh | |
parent | 006b19654d3083c381a16f683e920021e2cf91d8 (diff) | |
download | gnunet-f8d1558a5e6ede02e8c7f17d634d5d61f0e63e3f.tar.gz gnunet-f8d1558a5e6ede02e8c7f17d634d5d61f0e63e3f.zip |
- Don't crash on bogus data from client
Diffstat (limited to 'src/mesh')
-rw-r--r-- | src/mesh/gnunet-service-mesh.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesh/gnunet-service-mesh.c b/src/mesh/gnunet-service-mesh.c index b91fb3819..604ad52a9 100644 --- a/src/mesh/gnunet-service-mesh.c +++ b/src/mesh/gnunet-service-mesh.c | |||
@@ -3884,6 +3884,12 @@ handle_local_tunnel_destroy (void *cls, struct GNUNET_SERVER_Client *client, | |||
3884 | /* Remove from local id hashmap */ | 3884 | /* Remove from local id hashmap */ |
3885 | GNUNET_CRYPTO_hash (&tid, sizeof (MESH_TunnelNumber), &hash); | 3885 | GNUNET_CRYPTO_hash (&tid, sizeof (MESH_TunnelNumber), &hash); |
3886 | t = GNUNET_CONTAINER_multihashmap_get (c->own_tunnels, &hash); | 3886 | t = GNUNET_CONTAINER_multihashmap_get (c->own_tunnels, &hash); |
3887 | if (NULL == t) | ||
3888 | { | ||
3889 | GNUNET_break (0); | ||
3890 | GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); | ||
3891 | return; | ||
3892 | } | ||
3887 | send_client_tunnel_disconnect(t, c); | 3893 | send_client_tunnel_disconnect(t, c); |
3888 | if (c != t->owner) | 3894 | if (c != t->owner) |
3889 | { | 3895 | { |