Makes it possible to omit extra_opts of matches/targets if unnecessary.
(Jan Engelhardt <jengelh@gmx.de>)

A nice side effect is that merge_option() doesn't copy options in that case.
diff --git a/iptables.c b/iptables.c
index b894f6a..78ac13c 100644
--- a/iptables.c
+++ b/iptables.c
@@ -853,6 +853,9 @@
 	unsigned int num_old, num_new, i;
 	struct option *merge;
 
+	if (newopts == NULL)
+		return oldopts;
+
 	for (num_old = 0; oldopts[num_old].name; num_old++);
 	for (num_new = 0; newopts[num_new].name; num_new++);