diff --git a/src/resolvers.c b/src/resolvers.c index a806f3397..5ed866b08 100644 --- a/src/resolvers.c +++ b/src/resolvers.c @@ -2079,13 +2079,13 @@ static void _resolv_unlink_resolution(struct resolv_requester *requester) return; res = requester->resolution; - /* remove ref from the resolution answer item list to the requester */ - resolv_detach_from_resolution_answer_items(res, requester); - /* Clean up the requester */ LIST_DEL_INIT(&requester->list); requester->resolution = NULL; + /* remove ref from the resolution answer item list to the requester */ + resolv_detach_from_resolution_answer_items(res, requester); + /* We need to find another requester linked on this resolution */ if (!LIST_ISEMPTY(&res->requesters)) req = LIST_NEXT(&res->requesters, struct resolv_requester *, list);