From: Bart Polot Date: Fri, 4 Jul 2014 12:29:06 +0000 (+0000) Subject: - dont use pointer after free X-Git-Tag: initial-import-from-subversion-38251~3506 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3309d9f42c92f7d7b0b2a5029cef91aca1eee987;p=oweals%2Fgnunet.git - dont use pointer after free --- diff --git a/src/cadet/gnunet-service-cadet_connection.c b/src/cadet/gnunet-service-cadet_connection.c index af8f69bb5..f6ac0ef8f 100644 --- a/src/cadet/gnunet-service-cadet_connection.c +++ b/src/cadet/gnunet-service-cadet_connection.c @@ -1787,6 +1787,7 @@ GCC_handle_broken (void* cls, { struct GNUNET_CADET_ConnectionBroken *msg; struct CadetConnection *c; + struct CadetTunnel *t; int fwd; msg = (struct GNUNET_CADET_ConnectionBroken *) message; @@ -1814,10 +1815,11 @@ GCC_handle_broken (void* cls, path_invalidate (c->path); GCP_notify_broken_link (endpoint, &msg->peer1, &msg->peer2); c->state = CADET_CONNECTION_DESTROYED; + t = c->t; while (NULL != (out_msg = GCP_connection_pop (neighbor, c))) { GNUNET_assert (NULL == - GCT_send_prebuilt_message (out_msg, c->t, NULL, GNUNET_YES, + GCT_send_prebuilt_message (out_msg, t, NULL, GNUNET_YES, NULL, NULL)); }