From 081b300976d6f34b8cb53a2b446cdf2341abcde6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 9 Oct 2020 08:14:54 +0200 Subject: [PATCH] networkd: add assert to appease coverity The code was OK, but not obviously so. Let's add an assert to help a human or nonhuman reader figure it out. Coverity CID#1433224. --- src/network/networkd-route.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index b59c48d4823..1ed82d9adce 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -594,6 +594,7 @@ int route_remove( if (!manager) manager = link->manager; + /* link may be NULL! */ r = sd_rtnl_message_new_route(manager->rtnl, &req, RTM_DELROUTE, route->family, @@ -676,6 +677,8 @@ int route_remove( return log_link_error_errno(link, r, "Could not append RTA_PRIORITY attribute: %m"); if (!IN_SET(route->type, RTN_UNREACHABLE, RTN_PROHIBIT, RTN_BLACKHOLE, RTN_THROW)) { + assert(link); /* Those routes must be attached to a specific link */ + r = sd_netlink_message_append_u32(req, RTA_OIF, link->ifindex); if (r < 0) return log_link_error_errno(link, r, "Could not append RTA_OIF attribute: %m"); @@ -687,8 +690,7 @@ int route_remove( if (r < 0) return log_link_error_errno(link, r, "Could not send rtnetlink message: %m"); - if (link) - link_ref(link); + link_ref(link); /* link may be NULL, link_ref() is OK with that */ return 0; }