diff options
author | 2004-03-02 21:01:00 +0000 | |
---|---|---|
committer | 2004-03-02 21:01:00 +0000 | |
commit | f203f33c65f9ef1b8da077f5ed2a4eb9f9f83e39 (patch) | |
tree | 4c06a3105ddf2c1066303abe0e35aade3d4c57cb | |
parent | pretty usage and sort options. started by Andrey Matveev (diff) | |
download | wireguard-openbsd-f203f33c65f9ef1b8da077f5ed2a4eb9f9f83e39.tar.xz wireguard-openbsd-f203f33c65f9ef1b8da077f5ed2a4eb9f9f83e39.zip |
64-bits datatype fixes for strto(u)l conversions.
From Daniel Lucq, through and OK by henning@
-rw-r--r-- | sbin/brconfig/brconfig.c | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/sbin/brconfig/brconfig.c b/sbin/brconfig/brconfig.c index a50de1adbf0..d259d1e6c2d 100644 --- a/sbin/brconfig/brconfig.c +++ b/sbin/brconfig/brconfig.c @@ -1,4 +1,4 @@ -/* $OpenBSD: brconfig.c,v 1.28 2004/01/01 00:02:06 deraadt Exp $ */ +/* $OpenBSD: brconfig.c,v 1.29 2004/03/02 21:01:00 tdeval Exp $ */ /* * Copyright (c) 1999, 2000 Jason L. Wright (jason@thought.net) @@ -743,13 +743,14 @@ int bridge_timeout(int s, char *brdg, char *arg) { struct ifbrparam bp; - int newtime; + long newtime; char *endptr; errno = 0; newtime = strtol(arg, &endptr, 0); - if (arg[0] == '\0' || endptr[0] != '\0' || newtime < 0 || - (errno == ERANGE && newtime == ULONG_MAX)) { + if (arg[0] == '\0' || endptr[0] != '\0' || + (newtime & ~INT_MAX) != 0L || + (errno == ERANGE && newtime == LONG_MAX)) { printf("invalid arg for timeout: %s\n", arg); return (EX_USAGE); } @@ -767,13 +768,13 @@ int bridge_maxage(int s, char *brdg, char *arg) { struct ifbrparam bp; - u_int32_t v; + unsigned long v; char *endptr; errno = 0; v = strtoul(arg, &endptr, 0); - if (arg[0] == '\0' || endptr[0] != '\0' || - (errno == ERANGE && v == ULONG_MAX) || (v > 0xff)) { + if (arg[0] == '\0' || endptr[0] != '\0' || v > 0xffUL || + (errno == ERANGE && v == ULONG_MAX)) { printf("invalid arg for maxage: %s\n", arg); return (EX_USAGE); } @@ -791,13 +792,13 @@ int bridge_priority(int s, char *brdg, char *arg) { struct ifbrparam bp; - u_int32_t v; + unsigned long v; char *endptr; errno = 0; v = strtoul(arg, &endptr, 0); - if (arg[0] == '\0' || endptr[0] != '\0' || - (errno == ERANGE && v == ULONG_MAX) || (v > 0xffff)) { + if (arg[0] == '\0' || endptr[0] != '\0' || v > 0xffffUL || + (errno == ERANGE && v == ULONG_MAX)) { printf("invalid arg for maxage: %s\n", arg); return (EX_USAGE); } @@ -815,13 +816,13 @@ int bridge_fwddelay(int s, char *brdg, char *arg) { struct ifbrparam bp; - u_int32_t v; + unsigned long v; char *endptr; errno = 0; v = strtoul(arg, &endptr, 0); - if (arg[0] == '\0' || endptr[0] != '\0' || - (errno == ERANGE && v == ULONG_MAX) || (v > 0xff)) { + if (arg[0] == '\0' || endptr[0] != '\0' || v > 0xffUL || + (errno == ERANGE && v == ULONG_MAX)) { printf("invalid arg for fwddelay: %s\n", arg); return (EX_USAGE); } @@ -839,13 +840,13 @@ int bridge_hellotime(int s, char *brdg, char *arg) { struct ifbrparam bp; - u_int32_t v; + unsigned long v; char *endptr; errno = 0; v = strtoul(arg, &endptr, 0); - if (arg[0] == '\0' || endptr[0] != '\0' || - (errno == ERANGE && v == ULONG_MAX) || (v > 0xff)) { + if (arg[0] == '\0' || endptr[0] != '\0' || v > 0xffUL || + (errno == ERANGE && v == ULONG_MAX)) { printf("invalid arg for hellotime: %s\n", arg); return (EX_USAGE); } @@ -863,12 +864,12 @@ int bridge_maxaddr(int s, char *brdg, char *arg) { struct ifbrparam bp; - u_int32_t newsize; + unsigned long newsize; char *endptr; errno = 0; newsize = strtoul(arg, &endptr, 0); - if (arg[0] == '\0' || endptr[0] != '\0' || + if (arg[0] == '\0' || endptr[0] != '\0' || newsize > 0xffffffffUL || (errno == ERANGE && newsize == ULONG_MAX)) { printf("invalid arg for maxaddr: %s\n", arg); return (EX_USAGE); @@ -909,7 +910,7 @@ int bridge_ifprio(int s, char *brdg, char *ifname, char *val) { struct ifbreq breq; - u_int32_t v; + unsigned long v; char *endptr; strlcpy(breq.ifbr_name, brdg, sizeof(breq.ifbr_name)); @@ -917,8 +918,8 @@ bridge_ifprio(int s, char *brdg, char *ifname, char *val) errno = 0; v = strtoul(val, &endptr, 0); - if (val[0] == '\0' || endptr[0] != '\0' || - (errno == ERANGE && v == ULONG_MAX) || (v > 0xff)) { + if (val[0] == '\0' || endptr[0] != '\0' || v > 0xffUL || + (errno == ERANGE && v == ULONG_MAX)) { printf("invalid arg for ifpriority: %s\n", val); return (EX_USAGE); } @@ -935,7 +936,7 @@ int bridge_ifcost(int s, char *brdg, char *ifname, char *val) { struct ifbreq breq; - u_int32_t v; + unsigned long v; char *endptr; strlcpy(breq.ifbr_name, brdg, sizeof(breq.ifbr_name)); @@ -944,7 +945,8 @@ bridge_ifcost(int s, char *brdg, char *ifname, char *val) errno = 0; v = strtoul(val, &endptr, 0); if (val[0] == '\0' || endptr[0] != '\0' || - (errno == ERANGE && v == ULONG_MAX) || (v < 1 || v > 0xffffffff)) { + v < 1 || v > 0xffffffffUL || + (errno == ERANGE && v == ULONG_MAX)) { printf("invalid arg for ifcost: %s\n", val); return (EX_USAGE); } |