summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-05-03 14:31:36 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-05-03 14:31:36 +0000
commit948e5eb52416e37d9805d13c05c5758816f76d2d (patch)
tree87fa4d7bff66884f666427510e6ec787275d5ceb
parente8ca01dae1f2e060d4188418e70a29aa3d82ecc4 (diff)
[package] iptables: fix segfault in xtables_parse_protocol() if an unknown protocol is specified for -p
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15573 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/iptables/patches/1.4.3.2/010-xtables-parse-protocol-crash.patch13
1 files changed, 13 insertions, 0 deletions
diff --git a/package/iptables/patches/1.4.3.2/010-xtables-parse-protocol-crash.patch b/package/iptables/patches/1.4.3.2/010-xtables-parse-protocol-crash.patch
new file mode 100644
index 0000000000..e779aaa9cf
--- /dev/null
+++ b/package/iptables/patches/1.4.3.2/010-xtables-parse-protocol-crash.patch
@@ -0,0 +1,13 @@
+diff -ur iptables-1.4.3.2.orig/xtables.c iptables-1.4.3.2/xtables.c
+--- iptables-1.4.3.2.orig/xtables.c 2009-05-03 16:17:53.000000000 +0200
++++ iptables-1.4.3.2/xtables.c 2009-05-03 16:27:37.000000000 +0200
+@@ -1502,7 +1502,8 @@
+ else {
+ unsigned int i;
+ for (i = 0; i < ARRAY_SIZE(xtables_chain_protos); ++i) {
+- if (strcmp(s, xtables_chain_protos[i].name) == 0) {
++ if ((xtables_chain_protos[i].name != NULL) &&
++ (strcmp(s, xtables_chain_protos[i].name) == 0)) {
+ proto = xtables_chain_protos[i].num;
+ break;
+ }