From 969ec64ef3195e00ae597e49a39e804bb6ce6464 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Sun, 10 Apr 2016 19:33:27 +0200 Subject: util: standard pattern to check for valid number strtoul --- util.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/util.c b/util.c index 27422a3..399bb78 100644 --- a/util.c +++ b/util.c @@ -77,10 +77,11 @@ parseuri(const char *s, struct uri *u, int rel) return -1; /* port too long */ memcpy(u->port, p, i); u->port[i] = '\0'; - /* check for valid port */ + /* check for valid port: range 1 - 65535 */ errno = 0; l = strtoul(u->port, &endptr, 10); - if (errno || *endptr != '\0' || !l || l > 65535) + if (errno || u->port[0] == '\0' || *endptr || + !l || l > 65535) return -1; p = &p[i]; } -- cgit v1.2.3