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
|
@ -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,
|
static int unpack_tlv_router_cap(enum isis_tlv_context context,
|
||||||
uint8_t tlv_type, uint8_t tlv_len,
|
uint8_t tlv_type, uint8_t tlv_len,
|
||||||
struct stream *s, struct sbuf *log,
|
struct stream *s, struct sbuf *log, void *dest,
|
||||||
void *dest, int indent)
|
int indent)
|
||||||
{
|
{
|
||||||
struct isis_tlvs *tlvs = dest;
|
struct isis_tlvs *tlvs = dest;
|
||||||
struct isis_router_cap *rcap;
|
struct isis_router_cap *rcap;
|
||||||
|
@ -3627,7 +3627,7 @@ static int unpack_tlv_router_cap(enum isis_tlv_context context,
|
||||||
log, indent,
|
log, indent,
|
||||||
"WARNING: Router Capability subTLV length too large compared to expected size\n");
|
"WARNING: Router Capability subTLV length too large compared to expected size\n");
|
||||||
stream_forward_getp(s, STREAM_READABLE(s));
|
stream_forward_getp(s, STREAM_READABLE(s));
|
||||||
|
XFREE(MTYPE_ISIS_TLV, rcap);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue