Fix for -j match coredumping reported by Erik Tews <erik.tews@gmx.net>.
diff --git a/iptables.c b/iptables.c
index a6e16ae..cf6b04c 100644
--- a/iptables.c
+++ b/iptables.c
@@ -1430,7 +1430,7 @@
 
 	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 @@
 
 	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);