diff options
author | marc <marc> | 2000-04-22 23:16:27 +0000 |
---|---|---|
committer | marc <marc> | 2000-04-22 23:16:27 +0000 |
commit | 00c1c8bd5e5fcc70db3fb3b837f1ad9bb66c0642 (patch) | |
tree | 39f8cec8cff7a78b2fea632a28f6b5a74bf441da /iptables.c | |
parent | 7fb79f4e314a3fa65df3085bae71e8c12da630de (diff) |
Fix for -j match coredumping reported by Erik Tews <erik.tews@gmx.net>.
Diffstat (limited to 'iptables.c')
-rw-r--r-- | iptables.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -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); |