From: Christian Grothoff Date: Sun, 24 Jun 2012 08:51:46 +0000 (+0000) Subject: -LRN: Don't use freed ic X-Git-Tag: initial-import-from-subversion-38251~12849 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8fede42a8013b9a3e3b2dbab687b403319227a79;p=oweals%2Fgnunet.git -LRN: Don't use freed ic --- diff --git a/src/peerinfo/peerinfo_api.c b/src/peerinfo/peerinfo_api.c index 75d312f84..17db1d494 100644 --- a/src/peerinfo/peerinfo_api.c +++ b/src/peerinfo/peerinfo_api.c @@ -523,13 +523,16 @@ peerinfo_handler (void *cls, const struct GNUNET_MessageHeader *msg) /* normal end of list of peers, signal end, process next pending request */ LOG (GNUNET_ERROR_TYPE_DEBUG, "Received end of list of peers from `%s' service\n", "PEERINFO"); - GNUNET_PEERINFO_iterate_cancel (ic); + GNUNET_PEERINFO_iterate_cancel (ic); trigger_transmit (h); if (GNUNET_NO == h->in_receive) { h->in_receive = GNUNET_YES; - GNUNET_CLIENT_receive (h->client, &peerinfo_handler, h, - GNUNET_TIME_absolute_get_remaining (ic->timeout)); + if (h->ic_head != NULL) + GNUNET_CLIENT_receive (h->client, &peerinfo_handler, h, + GNUNET_TIME_absolute_get_remaining (h->ic_head->timeout)); + else + GNUNET_break (0); } if (NULL != cb) cb (cb_cls, NULL, NULL, NULL);