]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Create fr_pair_list_clear to clear and re-initialise vp lists
authorNick Porter <nick@portercomputing.co.uk>
Tue, 29 Dec 2020 16:55:51 +0000 (16:55 +0000)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 21 Jan 2021 23:05:49 +0000 (23:05 +0000)
src/bin/radsniff.c
src/lib/util/dpair.c

index 49130ce5f8e46e34e93be0e18977746a8c7fe327..9fa7aadf988c268e9e6614fd756d39398bab3b59 100644 (file)
@@ -1666,7 +1666,7 @@ static void rs_packet_process(uint64_t count, rs_event_t *event, struct pcap_pkt
                        fr_radius_packet_free(&original->linked);
 
                        /* replace packet and vps */
-                       fr_pair_list_free(&original->packet_vps);
+                       fr_pair_list_clear(&original->packet_vps);
                        fr_radius_packet_free(&original->packet);
                        original->packet = talloc_steal(original, packet);
                        fr_pair_list_move(&original->packet_vps, &decoded);
@@ -1677,7 +1677,7 @@ static void rs_packet_process(uint64_t count, rs_event_t *event, struct pcap_pkt
                        }
 
                        /* replace expected packets and vps */
-                       fr_pair_list_free(&original->expect_vps);
+                       fr_pair_list_clear(&original->expect_vps);
                        fr_radius_packet_free(&original->expect);
                        original->expect = talloc_steal(original, search.expect);
                        fr_pair_list_move(&original->expect_vps, &search.expect_vps);
index 00b50dc939e1e791d895e78c6bafbeecbd5a1d67..7efa4940509deb79634581fa4c53134383fa56a7 100644 (file)
@@ -378,6 +378,16 @@ inline void fr_pair_list_free(fr_pair_list_t *list)
        fr_dlist_talloc_free(&list->head);
 }
 
+/** Free and re-initialise a valuepair list.
+ *
+ * @param[in] list to re-initialise
+ */
+inline void fr_pair_list_clear(fr_pair_list_t *list)
+{
+       fr_pair_list_free(list);
+       fr_pair_list_init(list);
+}
+
 /** Is a valuepair list empty
  *
  * @param[in] list to check