diff options
Diffstat (limited to 'main/quagga/musl-fix-msghdr-usage.patch')
-rw-r--r-- | main/quagga/musl-fix-msghdr-usage.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/main/quagga/musl-fix-msghdr-usage.patch b/main/quagga/musl-fix-msghdr-usage.patch new file mode 100644 index 0000000000..77ba1a3776 --- /dev/null +++ b/main/quagga/musl-fix-msghdr-usage.patch @@ -0,0 +1,42 @@ +diff -ru quagga-0.99.23.orig/zebra/rt_netlink.c quagga-0.99.23/zebra/rt_netlink.c +--- quagga-0.99.23.orig/zebra/rt_netlink.c 2014-06-24 08:14:20.000000000 -0300 ++++ quagga-0.99.23/zebra/rt_netlink.c 2014-07-29 11:20:47.188233069 -0300 +@@ -282,9 +282,17 @@ + while (1) + { + char buf[NL_PKT_BUF_SIZE]; +- struct iovec iov = { buf, sizeof buf }; ++ struct iovec iov = { ++ .iov_base = buf, ++ .iov_len = sizeof buf ++ }; + struct sockaddr_nl snl; +- struct msghdr msg = { (void *) &snl, sizeof snl, &iov, 1, NULL, 0, 0 }; ++ struct msghdr msg = { ++ .msg_name = (void *) &snl, ++ .msg_namelen = sizeof snl, ++ .msg_iov = &iov, ++ .msg_iovlen = 1 ++ }; + struct nlmsghdr *h; + + status = recvmsg (nl->sock, &msg, 0); +@@ -1312,8 +1320,16 @@ + { + int status; + struct sockaddr_nl snl; +- struct iovec iov = { (void *) n, n->nlmsg_len }; +- struct msghdr msg = { (void *) &snl, sizeof snl, &iov, 1, NULL, 0, 0 }; ++ struct iovec iov = { ++ .iov_base = (void *) n, ++ .iov_len = n->nlmsg_len ++ }; ++ struct msghdr msg = { ++ .msg_name = (void *) &snl, ++ .msg_namelen = sizeof snl, ++ .msg_iov = &iov, ++ .msg_iovlen = 1, ++ }; + int save_errno; + + memset (&snl, 0, sizeof snl); |