Skip to content
Snippets Groups Projects
Commit 0ca3f495 authored by Scott Dial's avatar Scott Dial Committed by Nick Mathewson
Browse files

Fix dnsserv.c assertion when no supported questions are requested.

The problem is that "q" is always set on the first iteration even
if the question is not a supported question. This set of "q" is
not necessary, and will be handled after exiting the loop if there
if a supported q->type was found.

    [Changes file by nickm]

lease enter the commit message for your changes. Lines starting
parent 34a51d16
Branches
Tags
No related merge requests found
o Major bugfixes (DNS proxy):
- Stop a crash that could occur when a client running with DNSPort
received a query with multiple address types, where the first
address type was not supported. Found and fixed by Scott Dial.
Fixes bug 18710; bugfix on 0.2.5.4-alpha.
......@@ -87,8 +87,6 @@ evdns_server_callback(struct evdns_server_request *req, void *data_)
for (i = 0; i < req->nquestions; ++i) {
if (req->questions[i]->dns_question_class != EVDNS_CLASS_INET)
continue;
if (! q)
q = req->questions[i];
switch (req->questions[i]->type) {
case EVDNS_TYPE_A:
case EVDNS_TYPE_AAAA:
......@@ -96,7 +94,7 @@ evdns_server_callback(struct evdns_server_request *req, void *data_)
/* We always pick the first one of these questions, if there is
one. */
if (! supported_q)
supported_q = q;
supported_q = req->questions[i];
break;
default:
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment