From 4390a8eee79f19bc2923d229df2a8cfbf9ba5d5e Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 3 Sep 2015 11:26:36 -0700 Subject: [PATCH] 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 --- bgpd/bgp_aspath.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c index a270d8cd76..c9a6f3fd9e 100644 --- a/bgpd/bgp_aspath.c +++ b/bgpd/bgp_aspath.c @@ -710,8 +710,6 @@ aspath_hash_alloc (void *arg) /* Malformed AS path value. */ assert (aspath->str); - if (! aspath->str) - return NULL; /* New aspath structure is needed. */ 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); /* aspath_key_make() always updates the string */ XFREE (MTYPE_AS_STR, as.str); + if (as.json) + { + json_object_free(as.json); + as.json = NULL; + } } find->refcnt++; -- 2.39.5