]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix for #411, #439, #469: stream reuse, fix outnet deletion for all
authorGeorge Thessalonikefs <george@nlnetlabs.nl>
Fri, 23 Jul 2021 16:05:57 +0000 (18:05 +0200)
committerGeorge Thessalonikefs <george@nlnetlabs.nl>
Fri, 23 Jul 2021 16:05:57 +0000 (18:05 +0200)
  non-free pending_tcp.

services/outside_network.c

index 1867893c76e167d5a4a5b1f753d4861016d79d0a..023e094205f52598e8b83bf8f4805316a8877b73 100644 (file)
@@ -1732,19 +1732,14 @@ outside_network_delete(struct outside_network* outnet)
                size_t i;
                for(i=0; i<outnet->num_tcp; i++)
                        if(outnet->tcp_conns[i]) {
-                               if(outnet->tcp_conns[i]->query &&
-                                       !outnet->tcp_conns[i]->query->
-                                       on_tcp_waiting_list) {
+                               struct pending_tcp* pend;
+                               pend = outnet->tcp_conns[i];
+                               if(pend->reuse.item_on_lru_list) {
                                        /* delete waiting_tcp elements that
                                         * the tcp conn is working on */
-                                       struct pending_tcp* pend =
-                                               (struct pending_tcp*)outnet->
-                                               tcp_conns[i]->query->
-                                               next_waiting;
                                        decommission_pending_tcp(outnet, pend);
                                }
                                comm_point_delete(outnet->tcp_conns[i]->c);
-                               waiting_tcp_delete(outnet->tcp_conns[i]->query);
                                free(outnet->tcp_conns[i]);
                        }
                free(outnet->tcp_conns);