Commit c5e94233 authored by Mukund Sivaraman's avatar Mukund Sivaraman
Browse files

Fix a dig segfault due to bad linked list usage [RT #37591]

The crash (#37591) seems to happen because the query is taken out of
lookup->q(query->link), and put on lookup->connecting(query->clink).
The code checks query->link where it is detached (-1 in next pointer).
However, there's no need to call send_tcp_connect() there as the queries
are already connecting at that point.
parent 88a2182a
4016. [bug] Fix a dig segfault due to bad linked list usage.
[RT #37591]
4015. [bug] Nameservers that are skipped due to them being
CNAMEs were not being logged. They are now logged
to category 'cname' as per BIND 8. [RT #37935]
......
......@@ -3242,7 +3242,8 @@ connect_done(isc_task_t *task, isc_event_t *event) {
query->waiting_connect = ISC_FALSE;
isc_event_free(&event);
l = query->lookup;
if (l->current_query != NULL)
if ((l->current_query != NULL) &&
(ISC_LINK_LINKED(l->current_query, link)))
next = ISC_LIST_NEXT(l->current_query, link);
else
next = NULL;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment