summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2023-09-10 09:17:20 -0400
committerDonald Sharp <sharpd@nvidia.com>2023-09-11 12:45:59 -0400
commitdade8dfdd69add9a051723ea26547cfcddb4ac14 (patch)
tree3ee933b0b898adf87cfd34114eea8f5597e0b48c
parent8d39c8c9272b1ca876467af87dfc0cdbbd5ae7e4 (diff)
bgpd: bgp_evpn_mh_route_delete should ensure dest is still usable
Again coverity believes that dest may be freed but it should not be because of how locking is done. Make coverity happy. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
-rw-r--r--bgpd/bgp_evpn_mh.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/bgpd/bgp_evpn_mh.c b/bgpd/bgp_evpn_mh.c
index 91db9a061a..7700281cd2 100644
--- a/bgpd/bgp_evpn_mh.c
+++ b/bgpd/bgp_evpn_mh.c
@@ -513,8 +513,11 @@ static int bgp_evpn_mh_route_delete(struct bgp *bgp, struct bgp_evpn_es *es,
*/
delete_evpn_route_entry(bgp, afi, safi, dest, &pi);
if (pi)
- bgp_path_info_reap(dest, pi);
+ dest = bgp_path_info_reap(dest, pi);
+
+ assert(dest);
bgp_dest_unlock_node(dest);
+
return 0;
}