]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
lib/resolve: never read rcode if answer not exists
authorMarek Vavrusa <marek@vavrusa.com>
Sun, 22 May 2016 03:59:59 +0000 (20:59 -0700)
committerMarek Vavrusa <marek@vavrusa.com>
Sun, 22 May 2016 03:59:59 +0000 (20:59 -0700)
lib/resolve.c

index 262351dc99998c7ac5e19401e8622ff0f7a82aff..9d8c7e92cab71b5d95ac27e45fb51147d7269b21 100644 (file)
@@ -471,7 +471,7 @@ int kr_resolve_consume(struct kr_request *request, const struct sockaddr *src, k
                                }
                        }
                        /* Do not complete NS address resolution on soft-fail. */
-                       const int rcode = knot_wire_get_rcode(packet->wire);
+                       const int rcode = packet ? knot_wire_get_rcode(packet->wire) : 0;
                        if (rcode != KNOT_RCODE_SERVFAIL && rcode != KNOT_RCODE_REFUSED) {
                                qry->flags &= ~(QUERY_AWAIT_IPV6|QUERY_AWAIT_IPV4);
                        } else { /* Penalize SERVFAILs. */