diff options
| author | Olivier Dugeon <olivier.dugeon@orange.com> | 2022-08-05 16:00:48 +0200 | 
|---|---|---|
| committer | Olivier Dugeon <olivier.dugeon@orange.com> | 2022-09-02 15:04:35 +0200 | 
| commit | 1fa6385040df57f2d175cd628d7775af2f6c7561 (patch) | |
| tree | b4f9542aff901c9c65d32cdb8aa570ab35d79f21 /isisd/isis_circuit.c | |
| parent | 1011b31a1c72f0fd92a508c486406f3287a6c8e4 (diff) | |
isisd: Correct Valgrind errors
Runing most of isisd tests with --valgrind-memleaks give many memory errors.
This is due to the way isisd is stopped: performing a "no router isis XXX"
through CLI solves most of them. Indeed, isis_finish() doesn't call
isis_area_destroy() leaving many allocated memory unfreed.
This patch adds call to appropriate delete function or XFREE() when necessary to
properly free all alocated memory before terminating isisd.
Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Diffstat (limited to 'isisd/isis_circuit.c')
| -rw-r--r-- | isisd/isis_circuit.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index 178fbe7903..dcc4ed6e42 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -217,6 +217,11 @@ void isis_circuit_del(struct isis_circuit *circuit)  	list_delete(&circuit->ipv6_link);  	list_delete(&circuit->ipv6_non_link); +	if (circuit->ext) { +		isis_del_ext_subtlvs(circuit->ext); +		circuit->ext = NULL; +	} +  	XFREE(MTYPE_TMP, circuit->bfd_config.profile);  	XFREE(MTYPE_ISIS_CIRCUIT, circuit->tag);  | 
