From 493075d25b1686661b89e2e6bc68cec55ed5054b Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Sun, 10 Sep 2023 09:22:47 -0400 Subject: bgpd: bgp_connected_delete needs to ensure dest is still there Again coverity believes that dest could be freed by a call into bgp_dest_unlock_node, and it can if the lock count is wrong. Let's fix that assumption for coverity Signed-off-by: Donald Sharp --- bgpd/bgp_nexthop.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'bgpd/bgp_nexthop.c') diff --git a/bgpd/bgp_nexthop.c b/bgpd/bgp_nexthop.c index 6cb6d65c64..367c7056fd 100644 --- a/bgpd/bgp_nexthop.c +++ b/bgpd/bgp_nexthop.c @@ -483,7 +483,9 @@ void bgp_connected_delete(struct bgp *bgp, struct connected *ifc) XFREE(MTYPE_BGP_CONN, bc); bgp_dest_set_bgp_connected_ref_info(dest, NULL); } - bgp_dest_unlock_node(dest); + + dest = bgp_dest_unlock_node(dest); + assert(dest); bgp_dest_unlock_node(dest); } -- cgit v1.2.3