From 6a53d153835b0379b23ddcc1cca408b5bd1b93d6 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 29 Aug 2014 15:26:56 -0400 Subject: [PATCH] Correctly handle allocation failures in evdns_getaddrinfo Kuldeep Gupta appears to have used some kind of automated tool to find this and generate a patch for half the issue as #149. --- evdns.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/evdns.c b/evdns.c index 7e94b3d2..2c14955b 100644 --- a/evdns.c +++ b/evdns.c @@ -4668,7 +4668,7 @@ evdns_getaddrinfo(struct evdns_base *dns_base, data->ipv4_request.r = evdns_base_resolve_ipv4(dns_base, nodename, 0, evdns_getaddrinfo_gotresolve, &data->ipv4_request); - if (want_cname) + if (want_cname && data->ipv4_request.r)) data->ipv4_request.r->current_req->put_cname_in_ptr = &data->cname_result; } @@ -4679,7 +4679,7 @@ evdns_getaddrinfo(struct evdns_base *dns_base, data->ipv6_request.r = evdns_base_resolve_ipv6(dns_base, nodename, 0, evdns_getaddrinfo_gotresolve, &data->ipv6_request); - if (want_cname) + if (want_cname && data->ipv6_request.r) data->ipv6_request.r->current_req->put_cname_in_ptr = &data->cname_result; }