]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd: Cleanup leaked hash on shut in circuit
authorDonald Sharp <sharpd@nvidia.com>
Thu, 8 Aug 2024 17:17:42 +0000 (13:17 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Thu, 8 Aug 2024 18:24:59 +0000 (14:24 -0400)
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
isisd/isis_circuit.c
isisd/isis_lfa.c
isisd/isis_lfa.h

index 7819b20e8f31e803084ec849ca83f6a8e7cb8ea9..fa1ce3007f8a7af54df4e46285a81b397986c210 100644 (file)
@@ -198,8 +198,8 @@ void isis_circuit_del(struct isis_circuit *circuit)
        ldp_sync_info_free(&circuit->ldp_sync_info);
 
        circuit_mt_finish(circuit);
-       isis_lfa_excluded_ifaces_clear(circuit, ISIS_LEVEL1);
-       isis_lfa_excluded_ifaces_clear(circuit, ISIS_LEVEL2);
+       isis_lfa_excluded_ifaces_delete(circuit, ISIS_LEVEL1);
+       isis_lfa_excluded_ifaces_delete(circuit, ISIS_LEVEL2);
 
        list_delete(&circuit->ip_addrs);
        list_delete(&circuit->ipv6_link);
index dc8f0b96c028b516ecfe6c38ed7782f453564f4f..887f27eec5d91e630b905c1c89a0e22d90c40e5e 100644 (file)
@@ -238,10 +238,10 @@ void isis_lfa_excluded_ifaces_init(struct isis_circuit *circuit, int level)
  *
  * @param nodes                List of SPF nodes
  */
-void isis_lfa_excluded_ifaces_clear(struct isis_circuit *circuit, int level)
+void isis_lfa_excluded_ifaces_delete(struct isis_circuit *circuit, int level)
 {
-       hash_clean(circuit->lfa_excluded_ifaces[level - 1],
-                  lfa_excl_interface_hash_free);
+       hash_clean_and_free(&circuit->lfa_excluded_ifaces[level - 1],
+                           lfa_excl_interface_hash_free);
 }
 
 /**
index 0ba1c1cef5d5efdee86fc1ee8a4ec169be31eac1..58ff115b021d181da7806ac9475f693c446c8e6c 100644 (file)
@@ -133,7 +133,7 @@ struct lfa_tiebreaker *isis_lfa_tiebreaker_add(struct isis_area *area,
 void isis_lfa_tiebreaker_delete(struct isis_area *area, int level,
                                struct lfa_tiebreaker *tie_b);
 void isis_lfa_excluded_ifaces_init(struct isis_circuit *circuit, int level);
-void isis_lfa_excluded_ifaces_clear(struct isis_circuit *circuit, int level);
+void isis_lfa_excluded_ifaces_delete(struct isis_circuit *circuit, int level);
 void isis_lfa_excluded_iface_add(struct isis_circuit *circuit, int level,
                                 const char *ifname);
 void isis_lfa_excluded_iface_delete(struct isis_circuit *circuit, int level,