diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-12-26 12:58:01 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-12-27 01:41:39 +0100 |
commit | 5a7e41a370e39f68707d3c2ee9cc60d8c0bd33da (patch) | |
tree | 1c5d1bda9e2af070d0aeae343fd0cf5c80625916 /src | |
parent | c61d2b441a93c56847afe26fb7a2735cdb32ec46 (diff) |
resolved: ignore additional DNS responses we get while validating
No need to choke on them.
Diffstat (limited to 'src')
-rw-r--r-- | src/resolve/resolved-dns-transaction.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/resolve/resolved-dns-transaction.c b/src/resolve/resolved-dns-transaction.c index 94b540df0d..1ea8fa44f7 100644 --- a/src/resolve/resolved-dns-transaction.c +++ b/src/resolve/resolved-dns-transaction.c @@ -518,10 +518,12 @@ void dns_transaction_process_reply(DnsTransaction *t, DnsPacket *p) { assert(t); assert(p); - assert(t->state == DNS_TRANSACTION_PENDING); assert(t->scope); assert(t->scope->manager); + if (t->state != DNS_TRANSACTION_PENDING) + return; + /* Note that this call might invalidate the query. Callers * should hence not attempt to access the query or transaction * after calling this function. */ |