aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/gnunet-service-testbed_barriers.c
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2013-09-16 14:05:48 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2013-09-16 14:05:48 +0000
commit77139316eeecda84e45710d4dfd7c74dcff47942 (patch)
tree79902e46fb92f29523bbaad730b15679ca31b10f /src/testbed/gnunet-service-testbed_barriers.c
parentb9a26a3891508c9891ca2ceb142caef2e3b08f31 (diff)
downloadgnunet-77139316eeecda84e45710d4dfd7c74dcff47942.tar.gz
gnunet-77139316eeecda84e45710d4dfd7c74dcff47942.zip
- fix crash when disconnecting from misbehaving client
Diffstat (limited to 'src/testbed/gnunet-service-testbed_barriers.c')
-rw-r--r--src/testbed/gnunet-service-testbed_barriers.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/testbed/gnunet-service-testbed_barriers.c b/src/testbed/gnunet-service-testbed_barriers.c
index 68011065d..5668d03cf 100644
--- a/src/testbed/gnunet-service-testbed_barriers.c
+++ b/src/testbed/gnunet-service-testbed_barriers.c
@@ -360,13 +360,7 @@ remove_barrier (struct Barrier *barrier)
360 while (NULL != (ctx = barrier->head)) 360 while (NULL != (ctx = barrier->head))
361 { 361 {
362 GNUNET_CONTAINER_DLL_remove (barrier->head, barrier->tail, ctx); 362 GNUNET_CONTAINER_DLL_remove (barrier->head, barrier->tail, ctx);
363 GNUNET_SERVER_client_drop (ctx->client); 363 cleanup_clientctx (ctx);
364 ctx->client = NULL;
365 if (NULL != ctx->tx)
366 {
367 GNUNET_SERVER_notify_transmit_ready_cancel (ctx->tx);
368 ctx->tx = NULL;
369 }
370 } 364 }
371 GNUNET_free (barrier->name); 365 GNUNET_free (barrier->name);
372 GNUNET_SERVER_client_drop (barrier->mc); 366 GNUNET_SERVER_client_drop (barrier->mc);
@@ -532,6 +526,8 @@ disconnect_cb (void *cls, struct GNUNET_SERVER_Client *client)
532 if (NULL == client) 526 if (NULL == client)
533 return; 527 return;
534 client_ctx = GNUNET_SERVER_client_get_user_context (client, struct ClientCtx); 528 client_ctx = GNUNET_SERVER_client_get_user_context (client, struct ClientCtx);
529 if (NULL == client_ctx)
530 return;
535 cleanup_clientctx (client_ctx); 531 cleanup_clientctx (client_ctx);
536} 532}
537 533