From: Donald Sharp Date: Wed, 20 Jul 2022 20:49:09 +0000 (-0400) Subject: isisd: Ensure rcap is freed in error case X-Git-Tag: frr-8.3.2~14^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=ba74aec3d19d8d1cbe553a0a680d95babd2461c9;p=mirror%2Ffrr.git isisd: Ensure rcap is freed in error case unpack_tlv_router_cap allocates memory that in the error case is not being freed. Signed-off-by: Donald Sharp (cherry picked from commit 49efc80d342d8e8373c8af040580bd7940808730) --- diff --git a/isisd/isis_tlvs.c b/isisd/isis_tlvs.c index 11be3c3a71..b3c3fd4b0b 100644 --- a/isisd/isis_tlvs.c +++ b/isisd/isis_tlvs.c @@ -3580,9 +3580,9 @@ static int pack_tlv_router_cap(const struct isis_router_cap *router_cap, } static int unpack_tlv_router_cap(enum isis_tlv_context context, - uint8_t tlv_type, uint8_t tlv_len, - struct stream *s, struct sbuf *log, - void *dest, int indent) + uint8_t tlv_type, uint8_t tlv_len, + struct stream *s, struct sbuf *log, void *dest, + int indent) { struct isis_tlvs *tlvs = dest; struct isis_router_cap *rcap; @@ -3627,7 +3627,7 @@ static int unpack_tlv_router_cap(enum isis_tlv_context context, log, indent, "WARNING: Router Capability subTLV length too large compared to expected size\n"); stream_forward_getp(s, STREAM_READABLE(s)); - + XFREE(MTYPE_ISIS_TLV, rcap); return 0; }