From: Christian Grothoff Date: Wed, 23 May 2018 21:08:03 +0000 (+0200) Subject: fix bug where we might fail the resolution of the same DHT heap node twice due to... X-Git-Tag: v0.11.0pre66~36^2~7 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4b9c0d3a08c214719aa32d2cbd689c158634f12b;p=oweals%2Fgnunet.git fix bug where we might fail the resolution of the same DHT heap node twice due to async cleanup --- diff --git a/src/gns/gnunet-service-gns_resolver.c b/src/gns/gnunet-service-gns_resolver.c index 8593e281e..d3c07e997 100644 --- a/src/gns/gnunet-service-gns_resolver.c +++ b/src/gns/gnunet-service-gns_resolver.c @@ -2400,7 +2400,8 @@ start_dht_request (struct GNS_ResolverHandle *rh, if (GNUNET_CONTAINER_heap_get_size (dht_lookup_heap) > max_allowed_background_queries) { /* fail longest-standing DHT request */ - rx = GNUNET_CONTAINER_heap_peek (dht_lookup_heap); + rx = GNUNET_CONTAINER_heap_remove_root (dht_lookup_heap); + rx->dht_heap_node = NULL; GNUNET_assert (NULL != rx); fail_resolution (rx); }