diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2025-02-05 20:15:01 -0500 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2025-02-05 20:15:01 -0500 |
| commit | 3510a37b1115dc1286349ed0977443b09f6bc15e (patch) | |
| tree | da15a52d0dc71bbcbc59916aca07ef33b336fbf2 | |
| parent | a02ec27693ddfa708ec1f62400af6cea533bf1e8 (diff) | |
isisd: Do not leak a linked list in the circuit
Address sanitizer was telling us that linked lists
were being leaked. No need to do so.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
| -rw-r--r-- | isisd/isis_circuit.c | 2 | ||||
| -rw-r--r-- | isisd/isis_events.c | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index 9ea2cfd0a1..5b62d3c518 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -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); diff --git a/isisd/isis_events.c b/isisd/isis_events.c index 5574bbc50f..5237e99999 100644 --- a/isisd/isis_events.c +++ b/isisd/isis_events.c @@ -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(); } } |
