diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2009-05-12 09:51:26 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2009-05-12 09:51:26 +0200 |
commit | e55cc4aaa6e35448c14370e5261c3387d26b257d (patch) | |
tree | 43a3171fbb30f534fe438d853fdc611bfda894ea /xtables.c | |
parent | cd958a6c92c84095a439780b53832bb3aae2d512 (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.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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; |