summaryrefslogtreecommitdiff
path: root/evdns.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-02-15 20:26:52 -0500
committerNick Mathewson <nickm@torproject.org>2012-02-15 20:26:52 -0500
commita63ed161864bf5d2fb4c6c72e1ce9bf39d4f368d (patch)
tree15aa61fe3afc8c36fd97bed39a6cfbf4b7555d1e /evdns.c
parenta37cbfdafc0f9c9d507cf716c2acff612c1af79b (diff)
parentbec50680a31834619e66cb8b97edd6d5b5f15701 (diff)
downloadlibevent-a63ed161864bf5d2fb4c6c72e1ce9bf39d4f368d.tar.gz
Merge remote-tracking branch 'origin/patches-2.0'
Diffstat (limited to 'evdns.c')
-rw-r--r--evdns.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/evdns.c b/evdns.c
index d06971e2..c8d96c4c 100644
--- a/evdns.c
+++ b/evdns.c
@@ -898,7 +898,12 @@ reply_handle(struct request *const req, u16 flags, u32 ttl, struct reply *reply)
addrbuf, sizeof(addrbuf)));
break;
default:
- /* we got a good reply from the nameserver */
+ /* we got a good reply from the nameserver: it is up. */
+ if (req->handle == req->ns->probe_request) {
+ /* Avoid double-free */
+ req->ns->probe_request = NULL;
+ }
+
nameserver_up(req->ns);
}