diff --git a/evdns.c b/evdns.c index 152ba766..905ff6b5 100644 --- a/evdns.c +++ b/evdns.c @@ -4009,7 +4009,7 @@ static void evdns_nameserver_free(struct nameserver *server) { if (server->socket >= 0) - evutil_closesocket(server->socket); + evutil_closesocket(server->socket); (void) event_del(&server->event); event_debug_unassign(&server->event); if (server->state == 0) @@ -4049,6 +4049,8 @@ evdns_base_free_and_unlock(struct evdns_base *base, int fail_requests) for (server = base->server_head; server; server = server_next) { server_next = server->next; + /** already done something before */ + server->probe_request = NULL; evdns_nameserver_free(server); if (server_next == base->server_head) break;