Fix strict aliasing warnings
diff --git a/iptables.c b/iptables.c
index 344d2d6..549c6cd 100644
--- a/iptables.c
+++ b/iptables.c
@@ -1469,6 +1469,7 @@
 	const char *jumpto = "";
 	char *protocol = NULL;
 	int proto_used = 0;
+	u_int64_t *cnt;
 
 	memset(&fw, 0, sizeof(fw));
 
@@ -1793,12 +1794,14 @@
 					"-%c requires packet and byte counter",
 					opt2char(OPT_COUNTERS));
 
-			if (sscanf(pcnt, "%llu", (unsigned long long *)&fw.counters.pcnt) != 1)
+			cnt = &fw.counters.pcnt;
+			if (sscanf(pcnt, "%llu", (unsigned long long *)cnt) != 1)
 				exit_error(PARAMETER_PROBLEM,
 					"-%c packet counter not numeric",
 					opt2char(OPT_COUNTERS));
 
-			if (sscanf(bcnt, "%llu", (unsigned long long *)&fw.counters.bcnt) != 1)
+			cnt = &fw.counters.bcnt;
+			if (sscanf(bcnt, "%llu", (unsigned long long *)cnt) != 1)
 				exit_error(PARAMETER_PROBLEM,
 					"-%c byte counter not numeric",
 					opt2char(OPT_COUNTERS));