From cbcd19f38ae4b31c57c57ce3619b8d2674defb68 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 28 Aug 2022 08:11:27 -0700 Subject: [PATCH] netifaces: initialize msghdr in a portable way musl has padding bytes inside the msghdr struct which means initializing full structure will cause wrong assignments, doing partial assignment is more portable and assign the elements after that Fixes netifaces.c:1808:9: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion] NULL, ^~~~ Upstream-Status: Inappropriate [Upstream Repo is read-only] Signed-off-by: Khem Raj --- netifaces.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/netifaces.c b/netifaces.c index 839c42c..7da78e7 100644 --- a/netifaces.c +++ b/netifaces.c @@ -1800,15 +1800,12 @@ gateways (PyObject *self) do { struct sockaddr_nl sanl_from; struct iovec iov = { msgbuf, bufsize }; - struct msghdr msghdr = { - &sanl_from, - sizeof(sanl_from), - &iov, - 1, - NULL, - 0, - 0 - }; + struct msghdr msghdr = { 0 }; + + msghdr.msg_name = &sanl_from; + msghdr.msg_namelen = sizeof(sanl_from); + msghdr.msg_iov = &iov; + msghdr.msg_iovlen = 1; int nllen; ret = recvmsg (s, &msghdr, 0); -- 2.37.2