Fix the previous fix
No more segfaults or compilewarnings.
diff --git a/ip6tables.c b/ip6tables.c
index d250882..17bdb4e 100644
--- a/ip6tables.c
+++ b/ip6tables.c
@@ -1670,7 +1670,6 @@
const char *modprobe = NULL;
int proto_used = 0;
char icmp6p[] = "icmpv6";
- int no_handle = 0;
memset(&fw, 0, sizeof(fw));
@@ -2148,10 +2147,8 @@
chain, IP6T_FUNCTION_MAXNAMELEN);
/* only allocate handle if we weren't called with a handle */
- if (!*handle) {
+ if (!*handle)
*handle = ip6tc_init(*table);
- no_handle = 1;
- }
if (!*handle) {
/* try to insmod the module if iptc_init failed */
@@ -2296,8 +2293,5 @@
if (verbose > 1)
dump_entries6(*handle);
- if (no_handle)
- ip6tc_free(handle);
-
return ret;
}