summaryrefslogtreecommitdiff
path: root/bgpd/bgp_route.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_route.c')
-rw-r--r--bgpd/bgp_route.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 678a6caa1a..5ec122d2a9 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -15248,11 +15248,15 @@ static int peer_adj_routes(struct vty *vty, struct peer *peer, afi_t afi,
} else {
json_object_object_add(json_ar, rd_str, json_routes);
}
- }
+ } else if (json_routes)
+ json_object_free(json_routes);
output_count += output_count_per_rd;
filtered_count += filtered_count_per_rd;
}
+ if (json_ar &&
+ (type == bgp_show_adj_route_advertised || type == bgp_show_adj_route_received))
+ json_object_free(json_ar);
if (first == false && json_routes)
vty_out(vty, "}");
} else {