summaryrefslogtreecommitdiff
path: root/sapi/cli/php_cli_server.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-03-12 09:58:29 +0100
committerNikita Popov <nikita.ppv@gmail.com>2019-03-12 09:58:29 +0100
commit5b778e852ea6747ef73ca33567a2f3db4464b2d0 (patch)
treeeb72a1e1dea22a471e148249195f37237051c9de /sapi/cli/php_cli_server.c
parent99ee5db5e0318b486f408fcdc2abe5de43519c46 (diff)
parenta7739be22f8b376c58d666caa4479005e14bc2fa (diff)
downloadphp-git-5b778e852ea6747ef73ca33567a2f3db4464b2d0.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
Diffstat (limited to 'sapi/cli/php_cli_server.c')
-rw-r--r--sapi/cli/php_cli_server.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c
index e09aca4ed8..3588a902a0 100644
--- a/sapi/cli/php_cli_server.c
+++ b/sapi/cli/php_cli_server.c
@@ -633,10 +633,14 @@ static void sapi_cli_server_register_variables(zval *track_vars_array) /* {{{ */
char *tmp;
if ((tmp = strrchr(client->addr_str, ':'))) {
char addr[64], port[8];
+ const char *addr_start = client->addr_str, *addr_end = tmp;
+ if (addr_start[0] == '[') addr_start++;
+ if (addr_end[-1] == ']') addr_end--;
+
strncpy(port, tmp + 1, 8);
port[7] = '\0';
- strncpy(addr, client->addr_str, tmp - client->addr_str);
- addr[tmp - client->addr_str] = '\0';
+ strncpy(addr, addr_start, addr_end - addr_start);
+ addr[addr_end - addr_start] = '\0';
sapi_cli_server_register_variable(track_vars_array, "REMOTE_ADDR", addr);
sapi_cli_server_register_variable(track_vars_array, "REMOTE_PORT", port);
} else {