summaryrefslogtreecommitdiff
path: root/sapi/cli/php_cli_server.c
diff options
context:
space:
mode:
authornil0x42 <nil0x42@users.noreply.github.com>2014-07-11 19:48:03 +0200
committerStanislav Malyshev <stas@php.net>2014-11-30 22:42:12 -0800
commit2a73d56ef9e1a4ca8cbc9521e98c64a3716bbb4c (patch)
tree894a46377d7138a159891a2318ced6214a88cac6 /sapi/cli/php_cli_server.c
parentcb1a297bf48bd1ef1183b25f046659aaf376688a (diff)
downloadphp-git-2a73d56ef9e1a4ca8cbc9521e98c64a3716bbb4c.tar.gz
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).
Diffstat (limited to 'sapi/cli/php_cli_server.c')
-rw-r--r--sapi/cli/php_cli_server.c4
1 files changed, 2 insertions, 2 deletions
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;
}
}