mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-04 22:14:49 +00:00
Merge pull request #12989 from opensourcerouting/fix/memory_leaks_bgpd
bgpd: Free memory allocated by ecommunity_ecom2str()
This commit is contained in:
commit
e5325ec96a
@ -1124,7 +1124,8 @@ static uint8_t *mplsL3vpnVrfRtTable(struct variable *v, oid name[],
|
||||
struct bgp *l3vpn_bgp;
|
||||
uint32_t rt_index = 0;
|
||||
uint8_t rt_type = 0;
|
||||
char *rt_b;
|
||||
char *rt_b = NULL;
|
||||
static char rt_b_str[BUFSIZ] = {};
|
||||
|
||||
if (smux_header_table(v, name, length, exact, var_len, write_method)
|
||||
== MATCH_FAILED)
|
||||
@ -1156,14 +1157,16 @@ static uint8_t *mplsL3vpnVrfRtTable(struct variable *v, oid name[],
|
||||
ECOMMUNITY_ROUTE_TARGET);
|
||||
break;
|
||||
default:
|
||||
rt_b = NULL;
|
||||
break;
|
||||
}
|
||||
if (rt_b)
|
||||
if (rt_b) {
|
||||
*var_len = strnlen(rt_b, ECOMMUNITY_STRLEN);
|
||||
else
|
||||
strlcpy(rt_b_str, rt_b, sizeof(rt_b_str));
|
||||
XFREE(MTYPE_ECOMMUNITY_STR, rt_b);
|
||||
} else {
|
||||
*var_len = 0;
|
||||
return (uint8_t *)rt_b;
|
||||
}
|
||||
return (uint8_t *)rt_b_str;
|
||||
case MPLSL3VPNVRFRTDESCR:
|
||||
/* since we dont have a description generate one */
|
||||
memset(rt_description, 0, VRF_NAMSIZ + RT_PREAMBLE_SIZE);
|
||||
|
Loading…
Reference in New Issue
Block a user