From: Christian Grothoff Date: Fri, 19 Nov 2010 12:31:15 +0000 (+0000) Subject: fixing 1622 X-Git-Tag: initial-import-from-subversion-38251~19675 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d8e834a9fd6ee35dfe0630d71693d0b82328d818;p=oweals%2Fgnunet.git fixing 1622 --- diff --git a/src/arm/arm_api.c b/src/arm/arm_api.c index f935c590f..cd089c621 100644 --- a/src/arm/arm_api.c +++ b/src/arm/arm_api.c @@ -467,6 +467,7 @@ arm_service_report (void *cls, } if (pos->callback != NULL) pos->callback (pos->cls, GNUNET_YES); + GNUNET_free (proc); GNUNET_free (pos); } diff --git a/src/core/core_api.c b/src/core/core_api.c index 28cec6724..802ba56d4 100644 --- a/src/core/core_api.c +++ b/src/core/core_api.c @@ -464,6 +464,14 @@ reconnect_later (struct GNUNET_CORE_Handle *h) { struct ControlMessage *cm; + while (NULL != (cm = h->pending_head)) + { + GNUNET_CONTAINER_DLL_remove (h->pending_head, + h->pending_tail, + cm); + cm->cont (cm->cont_cls, NULL); + GNUNET_free (cm); + } if (h->client != NULL) { GNUNET_CLIENT_disconnect (h->client, GNUNET_NO); @@ -472,15 +480,8 @@ reconnect_later (struct GNUNET_CORE_Handle *h) &disconnect_and_free_peer_entry, h); } + GNUNET_assert (h->pending_head == NULL); h->currently_down = GNUNET_YES; - while (NULL != (cm = h->pending_head)) - { - GNUNET_CONTAINER_DLL_remove (h->pending_head, - h->pending_tail, - cm); - cm->cont (cm->cont_cls, NULL); - GNUNET_free (cm); - } GNUNET_assert (h->reconnect_task == GNUNET_SCHEDULER_NO_TASK); h->retry_backoff = GNUNET_TIME_relative_min (GNUNET_TIME_UNIT_SECONDS, h->retry_backoff);