summaryrefslogtreecommitdiff
path: root/src/libsystemd-network
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-09-15 23:29:11 +0900
committerLennart Poettering <lennart@poettering.net>2021-09-16 11:47:44 +0200
commitf782eee68aea996c68b8cfeba5f288dae7fc876f (patch)
tree833430397d698b46f6a80df42aa5d2298a156fc3 /src/libsystemd-network
parent5aaa55d841249f057fd69e50cf12a52e9781a6ce (diff)
downloadsystemd-f782eee68aea996c68b8cfeba5f288dae7fc876f.tar.gz
journal,network,timesync: fix segfault on 32bit timeval/timespec systems
Fixes #20741.
Diffstat (limited to 'src/libsystemd-network')
-rw-r--r--src/libsystemd-network/icmp6-util.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libsystemd-network/icmp6-util.c b/src/libsystemd-network/icmp6-util.c
index 823be0f275..3832bbd920 100644
--- a/src/libsystemd-network/icmp6-util.c
+++ b/src/libsystemd-network/icmp6-util.c
@@ -148,8 +148,9 @@ int icmp6_send_router_solicitation(int s, const struct ether_addr *ether_addr) {
int icmp6_receive(int fd, void *buffer, size_t size, struct in6_addr *ret_dst,
triple_timestamp *ret_timestamp) {
+ /* This needs to be initialized with zero. See #20741. */
CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(int)) + /* ttl */
- CMSG_SPACE_TIMEVAL) control;
+ CMSG_SPACE_TIMEVAL) control = {};
struct iovec iov = {};
union sockaddr_union sa = {};
struct msghdr msg = {