You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.5 KiB
49 lines
1.5 KiB
From 074062808c630f2efb55c7093d510b44a38e74e5 Mon Sep 17 00:00:00 2001 |
|
From: Phil Sutter <psutter@redhat.com> |
|
Date: Thu, 14 Sep 2017 15:27:47 +0200 |
|
Subject: [PATCH] tc: m_xt: Prevent a segfault in libipt |
|
|
|
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1465599 |
|
Upstream Status: iproute2.git commit f6fc1055e41a8 |
|
|
|
commit f6fc1055e41a8a924313c336b39b9ffe0c86938b |
|
Author: Phil Sutter <psutter@redhat.com> |
|
Date: Tue May 23 15:40:57 2017 +0200 |
|
|
|
tc: m_xt: Prevent a segfault in libipt |
|
|
|
This happens with NAT targets, such as SNAT, DNAT and MASQUERADE. These |
|
are still not usable with this patch, but at least tc doesn't crash |
|
anymore when one tries to use them. |
|
|
|
Signed-off-by: Phil Sutter <phil@nwl.cc> |
|
--- |
|
tc/m_xt.c | 5 ++++- |
|
1 file changed, 4 insertions(+), 1 deletion(-) |
|
|
|
diff --git a/tc/m_xt.c b/tc/m_xt.c |
|
index e59df8e..ad52d23 100644 |
|
--- a/tc/m_xt.c |
|
+++ b/tc/m_xt.c |
|
@@ -146,6 +146,9 @@ static int parse_ipt(struct action_util *a, int *argc_p, |
|
char ***argv_p, int tca_id, struct nlmsghdr *n) |
|
{ |
|
struct xtables_target *m = NULL; |
|
+#if XTABLES_VERSION_CODE >= 6 |
|
+ struct ipt_entry fw = {}; |
|
+#endif |
|
struct rtattr *tail; |
|
|
|
int c; |
|
@@ -206,7 +209,7 @@ static int parse_ipt(struct action_util *a, int *argc_p, |
|
default: |
|
#if XTABLES_VERSION_CODE >= 6 |
|
if (m != NULL && m->x6_parse != NULL) { |
|
- xtables_option_tpcall(c, argv, 0, m, NULL); |
|
+ xtables_option_tpcall(c, argv, 0, m, &fw); |
|
#else |
|
if (m != NULL && m->parse != NULL) { |
|
m->parse(c - m->option_offset, argv, 0, |
|
-- |
|
1.8.3.1 |
|
|
|
|