summaryrefslogtreecommitdiffstats
path: root/xtables.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2009-05-12 09:51:26 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2009-05-12 09:51:26 +0200
commite55cc4aaa6e35448c14370e5261c3387d26b257d (patch)
tree43a3171fbb30f534fe438d853fdc611bfda894ea /xtables.c
parentcd958a6c92c84095a439780b53832bb3aae2d512 (diff)
xtables: fix segfault if incorrect protocol name is used
This patch fixes a segfault that can be triggered if you use an incorrect protocol, e.g. # iptables -I PREROUTING -t nat -p lalala --dport 21 -j DNAT --to 192.168.1.2:21 Segmentation fault With this patch: # iptables -I PREROUTING -t nat -p lalala --dport 21 -j DNAT --to 192.168.1.2:21 iptables v1.4.3.2: unknown protocol `lala' specified Try `iptables -h' or 'iptables --help' for more information Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'xtables.c')
-rw-r--r--xtables.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/xtables.c b/xtables.c
index a01d4ea0..e0183310 100644
--- a/xtables.c
+++ b/xtables.c
@@ -1502,6 +1502,9 @@ xtables_parse_protocol(const char *s)
else {
unsigned int i;
for (i = 0; i < ARRAY_SIZE(xtables_chain_protos); ++i) {
+ if (xtables_chain_protos[i].name == NULL)
+ continue;
+
if (strcmp(s, xtables_chain_protos[i].name) == 0) {
proto = xtables_chain_protos[i].num;
break;