From: Christian Grothoff Date: Fri, 19 Dec 2014 13:33:26 +0000 (+0000) Subject: -fix use after free X-Git-Tag: initial-import-from-subversion-38251~2816 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=dc0da39a4d4a086b5286ae4705a3b96695d2f5f0;p=oweals%2Fgnunet.git -fix use after free --- diff --git a/src/set/gnunet-service-set.c b/src/set/gnunet-service-set.c index ba89fbee4..2291bd2f2 100644 --- a/src/set/gnunet-service-set.c +++ b/src/set/gnunet-service-set.c @@ -469,6 +469,8 @@ handle_client_disconnect (void *cls, static void incoming_destroy (struct Operation *incoming) { + struct GNUNET_CADET_Channel *channel; + GNUNET_assert (GNUNET_YES == incoming->is_incoming); GNUNET_CONTAINER_DLL_remove (incoming_head, incoming_tail, @@ -490,10 +492,10 @@ incoming_destroy (struct Operation *incoming) GNUNET_MQ_destroy (incoming->mq); incoming->mq = NULL; } - if (NULL != incoming->channel) + if (NULL != (channel = incoming->channel)) { - GNUNET_CADET_channel_destroy (incoming->channel); incoming->channel = NULL; + GNUNET_CADET_channel_destroy (channel); } }