summaryrefslogtreecommitdiffstats
path: root/isisd
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-12-13 01:30:21 +0100
committerDonald Sharp <sharpd@cumulusnetworks.com>2019-12-13 01:33:42 +0100
commitebeae7d58dd686bdfc4ecd65a56e187c7acbbb86 (patch)
treef9eeb2a5d24991c0a38cf98775581bcaa454d93b /isisd
parentripd, ripngd: Free up list after call into nb_cli_rpc (diff)
downloadfrr-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.c2
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,