summaryrefslogtreecommitdiffstats
path: root/ip6tables.c
diff options
context:
space:
mode:
Diffstat (limited to 'ip6tables.c')
-rw-r--r--ip6tables.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ip6tables.c b/ip6tables.c
index 79c31bb9..d43029eb 100644
--- a/ip6tables.c
+++ b/ip6tables.c
@@ -1413,6 +1413,7 @@ int do_command6(int argc, char *argv[], char **table, ip6tc_handle_t *handle)
const char *jumpto = "";
char *protocol = NULL;
int proto_used = 0;
+ u_int64_t *cnt;
memset(&fw, 0, sizeof(fw));
@@ -1727,12 +1728,14 @@ int do_command6(int argc, char *argv[], char **table, ip6tc_handle_t *handle)
"-%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));