From 449feb8ef98347c28148af86dbcbaad35070a8ad Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 19 Dec 2017 08:20:30 -0500 Subject: [PATCH] bgpd: Fix double free The json code was freeing json_paths and then turning around and free'ing it again. Newer versions of json-c have started to assert this bad behavior. Signed-off-by: Donald Sharp --- bgpd/bgp_route.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 2323572488..09759628cb 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -8396,6 +8396,7 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, safi_t safi, vty_out(vty, "%s", json_object_to_json_string_ext(json_paths, JSON_C_TO_STRING_PRETTY)); json_object_free(json_paths); + json_paths = NULL; first = 0; } } @@ -8409,7 +8410,8 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, safi_t safi, *total_cum = total_count; } if (use_json) { - json_object_free(json_paths); + if (json_paths) + json_object_free(json_paths); if (is_last) vty_out(vty, " } }\n"); else