mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
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.
This commit is contained in:
parent
88a2182a1a
commit
c5e9423340
2 changed files with 5 additions and 1 deletions
3
CHANGES
3
CHANGES
|
|
@ -1,3 +1,6 @@
|
|||
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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue