Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: sapi/cli/php_cli_server.c
- ===================================================================
- --- sapi/cli/php_cli_server.c (revision 312567)
- +++ sapi/cli/php_cli_server.c (working copy)
- @@ -1799,13 +1799,28 @@
- }
- {
- - char *p = strchr(host, ':');
- - if (p) {
- + char *p = strrchr(host, ':');
- + char *end = strchr(host, ']');
- + if (p && (end == NULL || p > end)) {
- *p++ = '\0';
- port = strtol(p, &p, 10);
- + if (port < 0 || port > 65535) {
- + printf(stderr, "Invalid built-in web-server addr:port argument\n");
- + return FAILURE;
- + }
- }
- }
- + if (*host == '[' && host[strlen(host)-1] == ']') {
- + char v6address[40];
- + int success = sscanf(host, "\[%39[^]]\]", v6address);
- + if (success != 1) {
- + php_cli_server_logf("Failed to listen on %s:%d (reason: %s)" TSRMLS_CC, host, port, errstr ? errstr: "?");
- + return FAILURE;
- + }
- + host = pestrdup(v6address, 1);
- + }
- +
- server_sock = php_network_listen_socket(host, &port, SOCK_STREAM, &server->address_family, &server->socklen, &errstr TSRMLS_CC);
- if (server_sock == SOCK_ERR) {
- php_cli_server_logf("Failed to listen on %s:%d (reason: %s)" TSRMLS_CC, host, port, errstr ? errstr: "?");
Add Comment
Please, Sign In to add comment