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 <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2017-12-19 08:20:30 -05:00
parent fb8f41e455
commit 449feb8ef9

View File

@ -8396,6 +8396,7 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, safi_t safi,
vty_out(vty, "%s", vty_out(vty, "%s",
json_object_to_json_string_ext(json_paths, JSON_C_TO_STRING_PRETTY)); json_object_to_json_string_ext(json_paths, JSON_C_TO_STRING_PRETTY));
json_object_free(json_paths); json_object_free(json_paths);
json_paths = NULL;
first = 0; first = 0;
} }
} }
@ -8409,6 +8410,7 @@ static int bgp_show_table(struct vty *vty, struct bgp *bgp, safi_t safi,
*total_cum = total_count; *total_cum = total_count;
} }
if (use_json) { if (use_json) {
if (json_paths)
json_object_free(json_paths); json_object_free(json_paths);
if (is_last) if (is_last)
vty_out(vty, " } }\n"); vty_out(vty, " } }\n");