From 027193db48e6d2a17e6b483387ee06299b8ab4d9 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 25 Nov 2022 02:34:57 +0900 Subject: [PATCH] sd-netlink: always initialize return variable on success --- src/libsystemd/sd-netlink/netlink-socket.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libsystemd/sd-netlink/netlink-socket.c b/src/libsystemd/sd-netlink/netlink-socket.c index 1da459c014..b5ed533db6 100644 --- a/src/libsystemd/sd-netlink/netlink-socket.c +++ b/src/libsystemd/sd-netlink/netlink-socket.c @@ -200,8 +200,11 @@ static int socket_recv_message(int fd, struct iovec *iov, uint32_t *ret_mcast_gr if (n < 0) { if (n == -ENOBUFS) return log_debug_errno(n, "sd-netlink: kernel receive buffer overrun"); - if (ERRNO_IS_TRANSIENT(n)) + if (ERRNO_IS_TRANSIENT(n)) { + if (ret_mcast_group) + *ret_mcast_group = 0; return 0; + } return (int) n; } @@ -216,6 +219,8 @@ static int socket_recv_message(int fd, struct iovec *iov, uint32_t *ret_mcast_gr return (int) n; } + if (ret_mcast_group) + *ret_mcast_group = 0; return 0; } @@ -242,7 +247,7 @@ int socket_read_message(sd_netlink *nl) { bool multi_part = false, done = false; size_t len, allocated; struct iovec iov = {}; - uint32_t group = 0; + uint32_t group; unsigned i = 0; int r;