From 749db50a3652d810b09a52fcdb2ce2b3a8cb56fc Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 2 Nov 2017 14:40:28 +0300 Subject: [PATCH] Added exceptions for ZEND_RC_DEBUG --- sapi/cli/php_cli_server.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index 1097b4769c..15b79864e9 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -1574,10 +1574,13 @@ static void php_cli_server_client_save_header(php_cli_server_client *client) { /* strip off the colon */ zend_string *orig_header_name = zend_string_init(client->current_header_name, client->current_header_name_len, 1); - char *lc_header_name = zend_str_tolower_dup(client->current_header_name, client->current_header_name_len); - zend_hash_str_add_ptr(&client->request.headers, lc_header_name, client->current_header_name_len, client->current_header_value); + zend_string *lc_header_name = zend_string_alloc(client->current_header_name_len, 1); + zend_str_tolower_copy(ZSTR_VAL(lc_header_name), client->current_header_name, client->current_header_name_len); + GC_MAKE_PERSISTENT_LOCAL(orig_header_name); + GC_MAKE_PERSISTENT_LOCAL(lc_header_name); + zend_hash_add_ptr(&client->request.headers, lc_header_name, client->current_header_value); zend_hash_add_ptr(&client->request.headers_original_case, orig_header_name, client->current_header_value); - efree(lc_header_name); + zend_string_release(lc_header_name); zend_string_release(orig_header_name); if (client->current_header_name_allocated) { -- 2.40.0