Skip to content

Commit b0246d4

Browse files
committed
Revert "Do not duplicate add_str, just add a refcount"
This reverts commit a2d0106.
1 parent a2d0106 commit b0246d4

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

sapi/cli/php_cli_server.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1876,8 +1876,11 @@ static void php_cli_server_client_ctor(php_cli_server_client *client, php_cli_se
18761876
client->addr = addr;
18771877
client->addr_len = addr_len;
18781878

1879-
php_network_populate_name_from_sockaddr(addr, addr_len, &client->addr_str, NULL, 0);
1880-
GC_ADDREF(client->addr_str);
1879+
// TODO Prevent realloc?
1880+
zend_string *tmp_addr = NULL;
1881+
php_network_populate_name_from_sockaddr(addr, addr_len, &tmp_addr, NULL, 0);
1882+
client->addr_str = zend_string_dup(tmp_addr, /* persistent */ true);
1883+
zend_string_release_ex(tmp_addr, /* persistent */ false);
18811884

18821885
php_http_parser_init(&client->parser, PHP_HTTP_REQUEST);
18831886
client->request_read = false;
@@ -1902,7 +1905,7 @@ static void php_cli_server_client_dtor(php_cli_server_client *client) /* {{{ */
19021905
client->file_fd = -1;
19031906
}
19041907
pefree(client->addr, 1);
1905-
zend_string_release_ex(client->addr_str, /* persistent */ false);
1908+
zend_string_release_ex(client->addr_str, /* persistent */ true);
19061909

19071910
/* Headers must be sent */
19081911
assert(client->current_header_name == NULL);

0 commit comments

Comments
 (0)