mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 02:53:55 +00:00
Bgpd: aspath json memory leak fix
Ticket: CM-6790 Reviewed by: CCR-3453 Testing: See bug This code change fixes these things: (a) Fixes an assert followed by an if statement (B) Fixes the memory leak in aspath->json
This commit is contained in:
parent
958cab2207
commit
4390a8eee7
@ -710,8 +710,6 @@ aspath_hash_alloc (void *arg)
|
|||||||
|
|
||||||
/* Malformed AS path value. */
|
/* Malformed AS path value. */
|
||||||
assert (aspath->str);
|
assert (aspath->str);
|
||||||
if (! aspath->str)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
/* New aspath structure is needed. */
|
/* New aspath structure is needed. */
|
||||||
new = XMALLOC (MTYPE_AS_PATH, sizeof (struct aspath));
|
new = XMALLOC (MTYPE_AS_PATH, sizeof (struct aspath));
|
||||||
@ -860,6 +858,11 @@ aspath_parse (struct stream *s, size_t length, int use32bit)
|
|||||||
assegment_free_all (as.segments);
|
assegment_free_all (as.segments);
|
||||||
/* aspath_key_make() always updates the string */
|
/* aspath_key_make() always updates the string */
|
||||||
XFREE (MTYPE_AS_STR, as.str);
|
XFREE (MTYPE_AS_STR, as.str);
|
||||||
|
if (as.json)
|
||||||
|
{
|
||||||
|
json_object_free(as.json);
|
||||||
|
as.json = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
find->refcnt++;
|
find->refcnt++;
|
||||||
|
Loading…
Reference in New Issue
Block a user