From: nil0x42 Date: Fri, 11 Jul 2014 17:48:03 +0000 (+0200) Subject: Fix php cli (-S option) inconsistent port parsing X-Git-Tag: PRE_NATIVE_TLS_MERGE~93^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2a73d56ef9e1a4ca8cbc9521e98c64a3716bbb4c;p=php Fix php cli (-S option) inconsistent port parsing Add port range verification of listening port with -S option for the php cli. This fixes inconsistent listening port due to unverified cast from long to short with htons(3). --- diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index f333addafd..f7f1c2bae0 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -2256,7 +2256,7 @@ static int php_cli_server_ctor(php_cli_server *server, const char *addr, const c *p++ = '\0'; if (*p == ':') { port = strtol(p + 1, &p, 10); - if (port <= 0) { + if (port <= 0 || port > 65535) { p = NULL; } } else if (*p != '\0') { @@ -2272,7 +2272,7 @@ static int php_cli_server_ctor(php_cli_server *server, const char *addr, const c if (p) { *p++ = '\0'; port = strtol(p, &p, 10); - if (port <= 0) { + if (port <= 0 || port > 65535) { p = NULL; } }