]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Explicitly free list of VPs to maintain list integrity
authorNick Porter <nick@portercomputing.co.uk>
Wed, 25 Oct 2023 09:26:48 +0000 (10:26 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Wed, 25 Oct 2023 10:17:44 +0000 (11:17 +0100)
src/bin/radsniff.c

index 4fdc05ff9b69eb41a32a03b573efbac52409255a..966f613053ed6d216d1c6b57476c3cade806efe1 100644 (file)
@@ -1519,7 +1519,11 @@ static void rs_packet_process(uint64_t count, rs_event_t *event, struct pcap_pkt
                                status = RS_RTX;
                                original->rt_rsp++;
 
-                               fr_radius_packet_free(&original->linked);       /* Also frees vps */
+                               /*
+                                *      Explicitly free VPs first so list maintains integrity - it is reused below
+                                */
+                               fr_pair_list_free(&original->link_vps);
+                               fr_radius_packet_free(&original->linked);
                                fr_event_timer_delete(&original->event);
                        /*
                         *      ...nope it's the first response to a request.