From f14117bffdf22894d565e9c21c535bf06298f6cd Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 13 Oct 2004 19:53:34 +0000 Subject: [PATCH] fix warning about always-false comparison; detect too-large realport better svn:r2465 --- src/or/rendservice.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/or/rendservice.c b/src/or/rendservice.c index 5851ddc238..6bcb709719 100644 --- a/src/or/rendservice.c +++ b/src/or/rendservice.c @@ -128,7 +128,8 @@ static void add_service(rend_service_t *service) static rend_service_port_config_t *parse_port_config(const char *string) { int virtport; - uint16_t realport; + int realport; + uint16_t p; uint32_t addr; char *endptr; rend_service_port_config_t *result; @@ -148,12 +149,11 @@ static rend_service_port_config_t *parse_port_config(const char *string) realport = virtport; addr = 0x7F000001u; /* 127.0.0.1 */ } else if (strchr(string, ':') || strchr(string, '.')) { - if (parse_addr_port(string, NULL, &addr, &realport)<0) { + if (parse_addr_port(string, NULL, &addr, &p)<0) { log_fn(LOG_WARN,"Unparseable address in hidden service port configuration"); return NULL; } - if (!realport) - realport = virtport; + realport = p?p:virtport; } else { /* No addr:port, no addr -- must be port. */ realport = strtol(string, &endptr, 10);