diff --git a/src/libsystemd-network/sd-dhcp-server.c b/src/libsystemd-network/sd-dhcp-server.c index 7cc25ef82a9..25f5b378bc4 100644 --- a/src/libsystemd-network/sd-dhcp-server.c +++ b/src/libsystemd-network/sd-dhcp-server.c @@ -964,6 +964,7 @@ static int server_receive_message(sd_event_source *s, int fd, }; struct cmsghdr *cmsg; ssize_t buflen, len; + int r; assert(server); @@ -1003,7 +1004,11 @@ static int server_receive_message(sd_event_source *s, int fd, } } - return dhcp_server_handle_message(server, message, (size_t)len); + r = dhcp_server_handle_message(server, message, (size_t) len); + if (r < 0) + log_dhcp_server_errno(server, r, "Couldn't process incoming message: %m"); + + return 0; } int sd_dhcp_server_start(sd_dhcp_server *server) {