diff options
Diffstat (limited to 'ip6tables.c')
-rw-r--r-- | ip6tables.c | 7 |
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)); |