]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Fix use after free.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 9 Dec 2020 13:13:46 +0000 (14:13 +0100)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 9 Dec 2020 13:13:46 +0000 (14:13 +0100)
services/outside_network.c

index abc43e3c220d5868b907f515a27a13a61460a150..4315eaf1b288c9978e9ca60a3249e06184f3c338 100644 (file)
@@ -760,13 +760,16 @@ use_free_buffer(struct outside_network* outnet)
                                waiting_tcp_callback(w, NULL, NETEVENT_CLOSED,
                                        NULL);
                                waiting_tcp_delete(w);
+#ifdef USE_DNSTAP
+                               w = NULL;
+#endif
                        }
 #ifdef USE_DNSTAP
                        pend_tcp = pend;
 #endif
                }
 #ifdef USE_DNSTAP
-               if(outnet->dtenv && pend_tcp && w->sq &&
+               if(outnet->dtenv && pend_tcp && w && w->sq &&
                   (outnet->dtenv->log_resolver_query_messages ||
                    outnet->dtenv->log_forwarder_query_messages)) {
                        sldns_buffer tmp;