summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/iproute/files/20010824-local-exploit-fix.patch')
-rw-r--r--sys-apps/iproute/files/20010824-local-exploit-fix.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/sys-apps/iproute/files/20010824-local-exploit-fix.patch b/sys-apps/iproute/files/20010824-local-exploit-fix.patch
new file mode 100644
index 000000000000..c66b9cbdc99c
--- /dev/null
+++ b/sys-apps/iproute/files/20010824-local-exploit-fix.patch
@@ -0,0 +1,22 @@
+--- iproute2/lib/libnetlink.c.orig 2003-08-10 15:02:10.000000000 +1000
++++ iproute2/lib/libnetlink.c 2003-10-13 19:36:41.000000000 +1000
+@@ -169,7 +169,8 @@
+ while (NLMSG_OK(h, status)) {
+ int err;
+
+- if (h->nlmsg_pid != rth->local.nl_pid ||
++ if (nladdr.nl_pid != 0 ||
++ h->nlmsg_pid != rth->local.nl_pid ||
+ h->nlmsg_seq != rth->dump) {
+ if (junk) {
+ err = junk(&nladdr, h, arg2);
+@@ -277,7 +278,8 @@
+ exit(1);
+ }
+
+- if (h->nlmsg_pid != rtnl->local.nl_pid ||
++ if (nladdr.nl_pid != peer ||
++ h->nlmsg_pid != rtnl->local.nl_pid ||
+ h->nlmsg_seq != seq) {
+ if (junk) {
+ err = junk(&nladdr, h, jarg);