Skip to content

Commit 0ce4dab

Browse files
committed
Do not duplicate add_str, just add a refcount
1 parent 8e99c22 commit 0ce4dab

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

sapi/cli/php_cli_server.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1876,11 +1876,8 @@ 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-
// 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);
1879+
php_network_populate_name_from_sockaddr(addr, addr_len, &client->addr_str, NULL, 0);
1880+
GC_ADDREF(client->addr_str);
18841881

18851882
php_http_parser_init(&client->parser, PHP_HTTP_REQUEST);
18861883
client->request_read = false;
@@ -1905,7 +1902,7 @@ static void php_cli_server_client_dtor(php_cli_server_client *client) /* {{{ */
19051902
client->file_fd = -1;
19061903
}
19071904
pefree(client->addr, 1);
1908-
zend_string_release_ex(client->addr_str, /* persistent */ true);
1905+
zend_string_release_ex(client->addr_str, /* persistent */ false);
19091906

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

0 commit comments

Comments
 (0)