summaryrefslogtreecommitdiffstats
path: root/iptables.c
diff options
context:
space:
mode:
authorErik Tews <erik.tews@gmx.net>2000-04-22 23:16:27 +0000
committerMarc Boucher <marc@mbsi.ca>2000-04-22 23:16:27 +0000
commita2dd3a37716dad1015750507af4389f94963314a (patch)
tree39f8cec8cff7a78b2fea632a28f6b5a74bf441da /iptables.c
parent744bd02e37167ca6b5646cefd8f0f24e71b512c4 (diff)
Fix for -j match coredumping reported by Erik Tews <erik.tews@gmx.net>.
Diffstat (limited to 'iptables.c')
-rw-r--r--iptables.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/iptables.c b/iptables.c
index a6e16ae1..cf6b04cb 100644
--- a/iptables.c
+++ b/iptables.c
@@ -1430,7 +1430,7 @@ generate_entry(const struct ipt_entry *fw,
size = sizeof(struct ipt_entry);
for (m = matches; m; m = m->next)
- size += m->m->match_size;
+ size += m->m ? m->m->match_size : 0;
e = fw_malloc(size + target->target_size);
*e = *fw;
@@ -1439,8 +1439,10 @@ generate_entry(const struct ipt_entry *fw,
size = 0;
for (m = matches; m; m = m->next) {
- memcpy(e->elems + size, m->m, m->m->match_size);
- size += m->m->match_size;
+ if (m->m) {
+ memcpy(e->elems + size, m->m, m->m->match_size);
+ size += m->m->match_size;
+ }
}
memcpy(e->elems + size, target, target->target_size);