Skip TCP dispatch responses that are not ours
When matching the TCP dispatch responses, we should skip the responses that do not belong to our TCP connection. This can happen with faulty upstream server that sends invalid QID back to us.
This commit is contained in:
@@ -692,7 +692,9 @@ tcp_recv_success(dns_dispatch_t *disp, isc_region_t *region,
|
||||
|
||||
dns_dispentry_t *resp = cds_lfht_entry(cds_lfht_iter_get_node(&iter),
|
||||
dns_dispentry_t, ht_node);
|
||||
if (resp != NULL) {
|
||||
|
||||
/* Skip responses that are not ours */
|
||||
if (resp != NULL && resp->disp == disp) {
|
||||
if (!resp->reading) {
|
||||
/*
|
||||
* We already got a message for this QID and weren't
|
||||
|
||||
Reference in New Issue
Block a user