summaryrefslogtreecommitdiff
path: root/pkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch')
-rw-r--r--pkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch69
1 files changed, 53 insertions, 16 deletions
diff --git a/pkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch b/pkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch
index fb68248a..5b8f0ba8 100644
--- a/pkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch
+++ b/pkg/iproute2/patch/0002-Avoid-pointer-arithmetic-on-void.patch
@@ -1,4 +1,4 @@
-From f39fa1708153aa739570688d5a4d7f69737cc7f5 Mon Sep 17 00:00:00 2001
+From 3d774f0cd909b05fa445e9033c2f9762d26bb42a Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 12 Mar 2019 19:12:31 -0700
Subject: [PATCH] Avoid pointer arithmetic on `void *`
@@ -7,18 +7,20 @@ Subject: [PATCH] Avoid pointer arithmetic on `void *`
include/libnetlink.h | 4 ++--
ip/ipfou.c | 2 +-
ip/ipila.c | 2 +-
- ip/ipmptcp.c | 4 ++--
+ ip/ipl2tp.c | 2 +-
+ ip/ipmacsec.c | 2 +-
+ ip/ipmptcp.c | 6 +++---
ip/ipseg6.c | 2 +-
ip/tcp_metrics.c | 2 +-
lib/libnetlink.c | 12 ++++++------
lib/utils.c | 2 +-
- 8 files changed, 15 insertions(+), 15 deletions(-)
+ 10 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/include/libnetlink.h b/include/libnetlink.h
-index b9073a6a..82630ca7 100644
+index 6bff6bae..ca09dbc8 100644
--- a/include/libnetlink.h
+++ b/include/libnetlink.h
-@@ -169,7 +169,7 @@ struct rtattr *rta_nest(struct rtattr *rta, int maxlen, int type);
+@@ -174,7 +174,7 @@ struct rtattr *rta_nest(struct rtattr *rta, int maxlen, int type);
int rta_nest_end(struct rtattr *rta, struct rtattr *nest);
#define RTA_TAIL(rta) \
@@ -27,7 +29,7 @@ index b9073a6a..82630ca7 100644
RTA_ALIGN((rta)->rta_len)))
#define parse_rtattr_nested(tb, max, rta) \
-@@ -233,7 +233,7 @@ int rtnl_from_file(FILE *, rtnl_listen_filter_t handler,
+@@ -238,7 +238,7 @@ int rtnl_from_file(FILE *, rtnl_listen_filter_t handler,
void *jarg);
#define NLMSG_TAIL(nmsg) \
@@ -62,11 +64,37 @@ index 475c35b5..0540d1d9 100644
open_json_object(NULL);
print_ila_locid("locator_match", ILA_ATTR_LOCATOR_MATCH, tb);
+diff --git a/ip/ipl2tp.c b/ip/ipl2tp.c
+index f090390f..edbe0f2f 100644
+--- a/ip/ipl2tp.c
++++ b/ip/ipl2tp.c
+@@ -345,7 +345,7 @@ static int get_response(struct nlmsghdr *n, void *arg)
+ if (len < 0)
+ return -1;
+
+- parse_rtattr(attrs, L2TP_ATTR_MAX, (void *)ghdr + GENL_HDRLEN, len);
++ parse_rtattr(attrs, L2TP_ATTR_MAX, (struct rtattr *)((char *)ghdr + GENL_HDRLEN), len);
+
+ if (attrs[L2TP_ATTR_PW_TYPE])
+ p->pw_type = rta_getattr_u16(attrs[L2TP_ATTR_PW_TYPE]);
+diff --git a/ip/ipmacsec.c b/ip/ipmacsec.c
+index bf48e8b5..eecb7e48 100644
+--- a/ip/ipmacsec.c
++++ b/ip/ipmacsec.c
+@@ -1001,7 +1001,7 @@ static int process(struct nlmsghdr *n, void *arg)
+ if (ghdr->cmd != MACSEC_CMD_GET_TXSC)
+ return 0;
+
+- parse_rtattr(attrs, MACSEC_ATTR_MAX, (void *) ghdr + GENL_HDRLEN, len);
++ parse_rtattr(attrs, MACSEC_ATTR_MAX, (struct rtattr *)((char *)ghdr + GENL_HDRLEN), len);
+ if (!validate_dump(attrs)) {
+ fprintf(stderr, "incomplete dump message\n");
+ return -1;
diff --git a/ip/ipmptcp.c b/ip/ipmptcp.c
-index e1ffafb3..802272d3 100644
+index 5f490f00..f53dcab8 100644
--- a/ip/ipmptcp.c
+++ b/ip/ipmptcp.c
-@@ -234,7 +234,7 @@ static int print_mptcp_addr(struct nlmsghdr *n, void *arg)
+@@ -247,7 +247,7 @@ static int print_mptcp_addr(struct nlmsghdr *n, void *arg)
return -1;
ghdr = NLMSG_DATA(n);
@@ -75,7 +103,7 @@ index e1ffafb3..802272d3 100644
len, NLA_F_NESTED);
addrinfo = tb[MPTCP_PM_ATTR_ADDR];
if (!addrinfo)
-@@ -345,7 +345,7 @@ static int print_mptcp_limit(struct nlmsghdr *n, void *arg)
+@@ -358,7 +358,7 @@ static int print_mptcp_limit(struct nlmsghdr *n, void *arg)
return -1;
ghdr = NLMSG_DATA(n);
@@ -84,6 +112,15 @@ index e1ffafb3..802272d3 100644
open_json_object(NULL);
if (tb[MPTCP_PM_ATTR_RCV_ADD_ADDRS]) {
+@@ -447,7 +447,7 @@ static int mptcp_monitor_msg(struct rtnl_ctrl_data *ctrl,
+
+ printf("[%14s]", event_to_str[ghdr->cmd]);
+
+- parse_rtattr(tb, MPTCP_ATTR_MAX, (void *) ghdr + GENL_HDRLEN, len);
++ parse_rtattr(tb, MPTCP_ATTR_MAX, (struct rtattr *) ((char *) ghdr + GENL_HDRLEN), len);
+
+ printf(" token=%08x", rta_getattr_u32(tb[MPTCP_ATTR_TOKEN]));
+
diff --git a/ip/ipseg6.c b/ip/ipseg6.c
index 56a76996..1c3c3bf5 100644
--- a/ip/ipseg6.c
@@ -111,10 +148,10 @@ index acbd745a..051ddc63 100644
if (attrs[TCP_METRICS_ATTR_ADDR_IPV4]) {
diff --git a/lib/libnetlink.c b/lib/libnetlink.c
-index c958aa57..5585c27f 100644
+index 2f2cc1fe..05006fdc 100644
--- a/lib/libnetlink.c
+++ b/lib/libnetlink.c
-@@ -1283,7 +1283,7 @@ int addraw_l(struct nlmsghdr *n, int maxlen, const void *data, int len)
+@@ -1328,7 +1328,7 @@ int addraw_l(struct nlmsghdr *n, int maxlen, const void *data, int len)
}
memcpy(NLMSG_TAIL(n), data, len);
@@ -123,7 +160,7 @@ index c958aa57..5585c27f 100644
n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + NLMSG_ALIGN(len);
return 0;
}
-@@ -1298,7 +1298,7 @@ struct rtattr *addattr_nest(struct nlmsghdr *n, int maxlen, int type)
+@@ -1343,7 +1343,7 @@ struct rtattr *addattr_nest(struct nlmsghdr *n, int maxlen, int type)
int addattr_nest_end(struct nlmsghdr *n, struct rtattr *nest)
{
@@ -132,7 +169,7 @@ index c958aa57..5585c27f 100644
return n->nlmsg_len;
}
-@@ -1314,9 +1314,9 @@ struct rtattr *addattr_nest_compat(struct nlmsghdr *n, int maxlen, int type,
+@@ -1359,9 +1359,9 @@ struct rtattr *addattr_nest_compat(struct nlmsghdr *n, int maxlen, int type,
int addattr_nest_compat_end(struct nlmsghdr *n, struct rtattr *start)
{
@@ -144,7 +181,7 @@ index c958aa57..5585c27f 100644
addattr_nest_end(n, nest);
return n->nlmsg_len;
}
-@@ -1388,7 +1388,7 @@ struct rtattr *rta_nest(struct rtattr *rta, int maxlen, int type)
+@@ -1433,7 +1433,7 @@ struct rtattr *rta_nest(struct rtattr *rta, int maxlen, int type)
int rta_nest_end(struct rtattr *rta, struct rtattr *nest)
{
@@ -153,7 +190,7 @@ index c958aa57..5585c27f 100644
return rta->rta_len;
}
-@@ -1437,7 +1437,7 @@ int __parse_rtattr_nested_compat(struct rtattr *tb[], int max,
+@@ -1482,7 +1482,7 @@ int __parse_rtattr_nested_compat(struct rtattr *tb[], int max,
if (RTA_PAYLOAD(rta) < len)
return -1;
if (RTA_PAYLOAD(rta) >= RTA_ALIGN(len) + sizeof(struct rtattr)) {
@@ -176,5 +213,5 @@ index 93ae0c55..33cf199e 100644
len = size;
--
-2.31.1
+2.32.0