]> git.puffer.fish Git - mirror/frr.git/commitdiff
isisd: Do not leak a linked list in the circuit 18033/head
authorDonald Sharp <sharpd@nvidia.com>
Thu, 6 Feb 2025 01:15:01 +0000 (20:15 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Thu, 6 Feb 2025 01:15:01 +0000 (20:15 -0500)
Address sanitizer was telling us that linked lists
were being leaked.  No need to do so.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
isisd/isis_circuit.c
isisd/isis_events.c

index 9ea2cfd0a1dc2bcdd8a4fc7982a1deb219c35e12..5b62d3c518bac9d709672dedf5904c8b8fef9198 100644 (file)
@@ -840,12 +840,10 @@ void isis_circuit_down(struct isis_circuit *circuit)
                if (circuit->u.bc.adjdb[0]) {
                        circuit->u.bc.adjdb[0]->del = isis_delete_adj;
                        list_delete(&circuit->u.bc.adjdb[0]);
-                       circuit->u.bc.adjdb[0] = NULL;
                }
                if (circuit->u.bc.adjdb[1]) {
                        circuit->u.bc.adjdb[1]->del = isis_delete_adj;
                        list_delete(&circuit->u.bc.adjdb[1]);
-                       circuit->u.bc.adjdb[1] = NULL;
                }
                if (circuit->u.bc.is_dr[0]) {
                        isis_dr_resign(circuit, 1);
index 5574bbc50fcafb986d438c784f1285bd8357cc9e..5237e99999c66fe1cf586c2b2dbcc54fe1707faf 100644 (file)
@@ -83,7 +83,8 @@ static void circuit_commence_level(struct isis_circuit *circuit, int level)
 
                send_hello_sched(circuit, level, TRIGGERED_IIH_DELAY);
                circuit->u.bc.lan_neighs[level - 1] = list_new();
-               circuit->u.bc.adjdb[level - 1] = list_new();
+               if (!circuit->u.bc.adjdb[level - 1])
+                       circuit->u.bc.adjdb[level - 1] = list_new();
        }
 }