From 568fc5c3f7223770b8f3471da314745742125bb9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 23 Jan 2018 15:48:28 +0100 Subject: [PATCH] local-addresses: handle gracefully if routes lack an RTA_OIF attribute Some routes (such as those using "nexthop") don't have an RTA_OIF attribute. We need to handle that gracefully, by simply ignoring the route. Fixes: #7854 --- src/libsystemd/sd-netlink/local-addresses.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libsystemd/sd-netlink/local-addresses.c b/src/libsystemd/sd-netlink/local-addresses.c index 23acec4061a..81e55b6d9f5 100644 --- a/src/libsystemd/sd-netlink/local-addresses.c +++ b/src/libsystemd/sd-netlink/local-addresses.c @@ -225,6 +225,8 @@ int local_gateways(sd_netlink *context, int ifindex, int af, struct local_addres continue; r = sd_netlink_message_read_u32(m, RTA_OIF, &ifi); + if (r == -ENODATA) /* Not all routes have an RTA_OIF attribute (for example nexthop ones) */ + continue; if (r < 0) return r; if (ifindex > 0 && (int) ifi != ifindex) -- 2.47.3