From: Zbigniew Jędrzejewski-Szmek Date: Fri, 9 Oct 2020 06:14:54 +0000 (+0200) Subject: networkd: add assert to appease coverity X-Git-Tag: v247-rc1~104^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F17289%2Fhead;p=thirdparty%2Fsystemd.git 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. --- 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; }