diff options
author | Patrick McHardy <kaber@trash.net> | 2007-10-17 08:48:58 +0000 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2007-10-17 08:48:58 +0000 |
commit | 875441ea60d9fd9378475526f2f632b932790553 (patch) | |
tree | cab9d2a12208245152d63e7042fc2e5d5755e763 | |
parent | 31f51c62d1aed362ec1eae8db37bd4ba981a4dcc (diff) |
Fix sscanf type errors
-rw-r--r-- | ip6tables-restore.c | 14 | ||||
-rw-r--r-- | ip6tables.c | 12 | ||||
-rw-r--r-- | iptables-restore.c | 14 | ||||
-rw-r--r-- | iptables.c | 11 |
4 files changed, 29 insertions, 22 deletions
diff --git a/ip6tables-restore.c b/ip6tables-restore.c index a34e2260..8b56c083 100644 --- a/ip6tables-restore.c +++ b/ip6tables-restore.c @@ -77,11 +77,15 @@ ip6tc_handle_t create_handle(const char *tablename, const char* modprobe) static int parse_counters(char *string, struct ip6t_counters *ctr) { - u_int64_t *pcnt, *bcnt; - - pcnt = &ctr->pcnt; - bcnt = &ctr->bcnt; - return (sscanf(string, "[%llu:%llu]", (unsigned long long *)pcnt, (unsigned long long *)bcnt) == 2); + unsigned long long pcnt, bcnt; + int ret; + + ret = sscanf(string, "[%llu:%llu]", + (unsigned long long *)&pcnt, + (unsigned long long *)&bcnt); + ctr->pcnt = pcnt; + ctr->bcnt = bcnt; + return ret == 2; } /* global new argv and argc */ diff --git a/ip6tables.c b/ip6tables.c index 026a4954..f658fc7a 100644 --- a/ip6tables.c +++ b/ip6tables.c @@ -1413,7 +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; + unsigned long long cnt; memset(&fw, 0, sizeof(fw)); @@ -1728,18 +1728,18 @@ int do_command6(int argc, char *argv[], char **table, ip6tc_handle_t *handle) "-%c requires packet and byte counter", opt2char(OPT_COUNTERS)); - cnt = &fw.counters.pcnt; - if (sscanf(pcnt, "%llu", (unsigned long long *)cnt) != 1) + if (sscanf(pcnt, "%llu", (unsigned long long *)&cnt) != 1) exit_error(PARAMETER_PROBLEM, "-%c packet counter not numeric", opt2char(OPT_COUNTERS)); + fw.counters.pcnt = cnt; - cnt = &fw.counters.bcnt; - if (sscanf(bcnt, "%llu", (unsigned long long *)cnt) != 1) + if (sscanf(bcnt, "%llu", (unsigned long long *)&cnt) != 1) exit_error(PARAMETER_PROBLEM, "-%c byte counter not numeric", opt2char(OPT_COUNTERS)); - + fw.counters.bcnt = cnt; + break; diff --git a/iptables-restore.c b/iptables-restore.c index df351ad6..c0e168e6 100644 --- a/iptables-restore.c +++ b/iptables-restore.c @@ -74,11 +74,15 @@ iptc_handle_t create_handle(const char *tablename, const char* modprobe ) static int parse_counters(char *string, struct ipt_counters *ctr) { - u_int64_t *pcnt, *bcnt; - - pcnt = &ctr->pcnt; - bcnt = &ctr->bcnt; - return (sscanf(string, "[%llu:%llu]", (unsigned long long *)pcnt, (unsigned long long *)bcnt) == 2); + unsigned long long pcnt, bcnt; + int ret; + + ret = sscanf(string, "[%llu:%llu]", + (unsigned long long *)&pcnt, + (unsigned long long *)&bcnt); + ctr->pcnt = pcnt; + ctr->bcnt = bcnt; + return ret == 2; } /* global new argv and argc */ @@ -1469,7 +1469,7 @@ int do_command(int argc, char *argv[], char **table, iptc_handle_t *handle) const char *jumpto = ""; char *protocol = NULL; int proto_used = 0; - u_int64_t *cnt; + unsigned long long cnt; memset(&fw, 0, sizeof(fw)); @@ -1794,18 +1794,17 @@ int do_command(int argc, char *argv[], char **table, iptc_handle_t *handle) "-%c requires packet and byte counter", opt2char(OPT_COUNTERS)); - cnt = &fw.counters.pcnt; - if (sscanf(pcnt, "%llu", (unsigned long long *)cnt) != 1) + if (sscanf(pcnt, "%llu", (unsigned long long *)&cnt) != 1) exit_error(PARAMETER_PROBLEM, "-%c packet counter not numeric", opt2char(OPT_COUNTERS)); + fw.counters.pcnt = cnt; - cnt = &fw.counters.bcnt; - if (sscanf(bcnt, "%llu", (unsigned long long *)cnt) != 1) + if (sscanf(bcnt, "%llu", (unsigned long long *)&cnt) != 1) exit_error(PARAMETER_PROBLEM, "-%c byte counter not numeric", opt2char(OPT_COUNTERS)); - + fw.counters.bcnt = cnt; break; |