diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-12-13 01:30:21 +0100 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-12-13 01:33:42 +0100 |
commit | ebeae7d58dd686bdfc4ecd65a56e187c7acbbb86 (patch) | |
tree | f9eeb2a5d24991c0a38cf98775581bcaa454d93b /isisd | |
parent | ripd, ripngd: Free up list after call into nb_cli_rpc (diff) | |
download | frr-ebeae7d58dd686bdfc4ecd65a56e187c7acbbb86.tar.xz frr-ebeae7d58dd686bdfc4ecd65a56e187c7acbbb86.zip |
isisd: Free memory when confused
When you call into lsp_update with confusion, the lsp is purged
and we do not do anything with the created tlv's from parsing
the incoming data. To prevent the tlv's from being leaked
note confusion and delete the unneeded data.
Fixes: #5496
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'isisd')
-rw-r--r-- | isisd/isis_pdu.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c index 71249cf65..cc22aa5ff 100644 --- a/isisd/isis_pdu.c +++ b/isisd/isis_pdu.c @@ -1054,6 +1054,8 @@ dontcheckadj: circuit->rcv_stream, circuit->area, level, lsp_confusion); + if (lsp_confusion) + isis_free_tlvs(tlvs); tlvs = NULL; /* ii */ lsp_flood_or_update(lsp, NULL, |