diff options
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-netifaces/0001-netifaces-initialize-msghdr-in-a-portable-way.patch')
-rw-r--r-- | meta-python/recipes-devtools/python/python3-netifaces/0001-netifaces-initialize-msghdr-in-a-portable-way.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-netifaces/0001-netifaces-initialize-msghdr-in-a-portable-way.patch b/meta-python/recipes-devtools/python/python3-netifaces/0001-netifaces-initialize-msghdr-in-a-portable-way.patch new file mode 100644 index 0000000000..7ff86cc8be --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-netifaces/0001-netifaces-initialize-msghdr-in-a-portable-way.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | From cbcd19f38ae4b31c57c57ce3619b8d2674defb68 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 28 Aug 2022 08:11:27 -0700 | ||
4 | Subject: [PATCH] netifaces: initialize msghdr in a portable way | ||
5 | |||
6 | musl has padding bytes inside the msghdr struct which means initializing | ||
7 | full structure will cause wrong assignments, doing partial assignment is | ||
8 | more portable and assign the elements after that | ||
9 | |||
10 | Fixes | ||
11 | netifaces.c:1808:9: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion] | ||
12 | NULL, | ||
13 | ^~~~ | ||
14 | |||
15 | Upstream-Status: Inappropriate [Upstream Repo is read-only] | ||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | --- | ||
18 | netifaces.c | 15 ++++++--------- | ||
19 | 1 file changed, 6 insertions(+), 9 deletions(-) | ||
20 | |||
21 | diff --git a/netifaces.c b/netifaces.c | ||
22 | index 839c42c..7da78e7 100644 | ||
23 | --- a/netifaces.c | ||
24 | +++ b/netifaces.c | ||
25 | @@ -1800,15 +1800,12 @@ gateways (PyObject *self) | ||
26 | do { | ||
27 | struct sockaddr_nl sanl_from; | ||
28 | struct iovec iov = { msgbuf, bufsize }; | ||
29 | - struct msghdr msghdr = { | ||
30 | - &sanl_from, | ||
31 | - sizeof(sanl_from), | ||
32 | - &iov, | ||
33 | - 1, | ||
34 | - NULL, | ||
35 | - 0, | ||
36 | - 0 | ||
37 | - }; | ||
38 | + struct msghdr msghdr = { 0 }; | ||
39 | + | ||
40 | + msghdr.msg_name = &sanl_from; | ||
41 | + msghdr.msg_namelen = sizeof(sanl_from); | ||
42 | + msghdr.msg_iov = &iov; | ||
43 | + msghdr.msg_iovlen = 1; | ||
44 | int nllen; | ||
45 | |||
46 | ret = recvmsg (s, &msghdr, 0); | ||
47 | -- | ||
48 | 2.37.2 | ||
49 | |||