diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2020-10-09 08:14:54 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2020-10-09 08:14:54 +0200 |
commit | 081b300976d6f34b8cb53a2b446cdf2341abcde6 (patch) | |
tree | e385d3d77bea015c959fa2fe9726ee48bda73522 | |
parent | systemctl: fix reversed arguments in function call (diff) | |
download | systemd-081b300976d6f34b8cb53a2b446cdf2341abcde6.tar.xz systemd-081b300976d6f34b8cb53a2b446cdf2341abcde6.zip |
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.
-rw-r--r-- | src/network/networkd-route.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index b59c48d482..1ed82d9adc 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; } |