forked from Mirror/frr
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 <sharpd@nvidia.com>
This commit is contained in:
parent
d2aeac3870
commit
49efc80d34
|
@ -3581,8 +3581,8 @@ 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)
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue