diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/network/networkd-link.c | 5 | ||||
-rw-r--r-- | src/network/networkd-manager.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 437c59843e..3bd37d8087 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -1853,11 +1853,14 @@ int link_rtnl_process_address(sd_rtnl *rtnl, sd_rtnl_message *message, void *use if (r < 0) { log_warning("rtnl: could not get message type"); return 0; + } else if (type != RTM_NEWADDR && type != RTM_DELADDR) { + log_warning("rtnl: received unexpected message type when processing address"); + return 0; } r = sd_rtnl_message_addr_get_ifindex(message, &ifindex); if (r < 0) { - log_warning_errno(r, "rtnl: could not get ifindex: %m"); + log_warning_errno(r, "rtnl: could not get ifindex from address: %m"); return 0; } else if (ifindex <= 0) { log_warning("rtnl: received address message with invalid ifindex: %d", ifindex); diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index cffae835f5..0e204ebae6 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -299,11 +299,14 @@ static int manager_rtnl_process_link(sd_rtnl *rtnl, sd_rtnl_message *message, vo if (r < 0) { log_warning_errno(r, "rtnl: could not get message type: %m"); return 0; + } else if (type != RTM_NEWLINK && type != RTM_DELLINK) { + log_warning("rtnl: received unexpected message type when processing link"); + return 0; } r = sd_rtnl_message_link_get_ifindex(message, &ifindex); if (r < 0) { - log_warning_errno(r, "rtnl: could not get ifindex: %m"); + log_warning_errno(r, "rtnl: could not get ifindex from link: %m"); return 0; } else if (ifindex <= 0) { log_warning("rtnl: received link message with invalid ifindex: %d", ifindex); |