aboutgitcodebugslistschat
diff options
context:
space:
mode:
-rw-r--r--conf.c11
-rw-r--r--tcp.c4
-rw-r--r--udp.c2
3 files changed, 9 insertions, 8 deletions
diff --git a/conf.c b/conf.c
index 6bb4c93..4e86508 100644
--- a/conf.c
+++ b/conf.c
@@ -118,11 +118,12 @@ static int get_bound_ports_ns(void *arg)
static int conf_ports(const struct ctx *c, char optname, const char *optarg,
struct port_fwd *fwd)
{
- int start_src, end_src, start_dst, end_dst, exclude_only = 1, i, port;
char addr_buf[sizeof(struct in6_addr)] = { 0 }, *addr = addr_buf;
+ int start_src, end_src, start_dst, end_dst, exclude_only = 1, i;
uint8_t exclude[PORT_BITMAP_SIZE] = { 0 };
char buf[BUFSIZ], *sep, *spec, *p;
sa_family_t af = AF_UNSPEC;
+ unsigned port;
if (!strcmp(optarg, "none")) {
if (fwd->mode)
@@ -204,11 +205,11 @@ static int conf_ports(const struct ctx *c, char optname, const char *optarg,
p++;
errno = 0;
- port = strtol(p, &sep, 10);
+ port = strtoul(p, &sep, 10);
if (sep == p)
break;
- if (port < 0 || port > USHRT_MAX || errno)
+ if (port > USHRT_MAX || errno)
goto bad;
switch (*sep) {
@@ -271,11 +272,11 @@ static int conf_ports(const struct ctx *c, char optname, const char *optarg,
break;
errno = 0;
- port = strtol(p, &sep, 10);
+ port = strtoul(p, &sep, 10);
if (sep == p)
break;
- if (port < 0 || port > USHRT_MAX || errno)
+ if (port > USHRT_MAX || errno)
goto bad;
/* -p 22
diff --git a/tcp.c b/tcp.c
index 509a0b3..d96232c 100644
--- a/tcp.c
+++ b/tcp.c
@@ -3182,7 +3182,7 @@ void tcp_sock_init(const struct ctx *c, int ns, sa_family_t af,
static int tcp_sock_init_ns(void *arg)
{
struct ctx *c = (struct ctx *)arg;
- int port;
+ unsigned port;
ns_enter(c);
@@ -3381,7 +3381,7 @@ struct tcp_port_rebind_arg {
static int tcp_port_rebind(void *arg)
{
struct tcp_port_rebind_arg *a = (struct tcp_port_rebind_arg *)arg;
- int port;
+ unsigned port;
if (a->bind_in_ns) {
ns_enter(a->c);
diff --git a/udp.c b/udp.c
index d17b3b4..27c3aa3 100644
--- a/udp.c
+++ b/udp.c
@@ -1193,7 +1193,7 @@ void udp_sock_init(const struct ctx *c, int ns, sa_family_t af,
int udp_sock_init_ns(void *arg)
{
struct ctx *c = (struct ctx *)arg;
- int dst;
+ unsigned dst;
if (ns_enter(c))
return 0;