From 4ed5520e3e72e0e953533a0f76e1c5758a614b73 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Sun, 18 Dec 2022 09:03:08 -0700 Subject: [PATCH] ntpquery: Explicitly zero initialize msghdr and fill in fields Rather than trying to use designated initializers, zero init the msghdr variable and fill in its fields. This makes sure to zero-init any padding bytes, and fixes a compilation error on musl-libc based systems. --- Userland/Utilities/ntpquery.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Userland/Utilities/ntpquery.cpp b/Userland/Utilities/ntpquery.cpp index 2ca0fcad28..3a88bb9dc8 100644 --- a/Userland/Utilities/ntpquery.cpp +++ b/Userland/Utilities/ntpquery.cpp @@ -187,7 +187,15 @@ ErrorOr serenity_main(Main::Arguments arguments) iovec iov { &packet, sizeof(packet) }; char control_message_buffer[CMSG_SPACE(sizeof(timeval))]; - msghdr msg = { &peer_address, sizeof(peer_address), &iov, 1, control_message_buffer, sizeof(control_message_buffer), 0 }; + msghdr msg = {}; + msg.msg_name = &peer_address; + msg.msg_namelen = sizeof(peer_address); + msg.msg_iov = &iov; + msg.msg_iovlen = 1; + msg.msg_control = control_message_buffer; + msg.msg_controllen = sizeof(control_message_buffer); + msg.msg_flags = 0; + rc = recvmsg(fd, &msg, 0); if (rc < 0) { perror("recvmsg");