summaryrefslogtreecommitdiff
path: root/sapi/cli/php_cli_server.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2017-11-02 14:40:28 +0300
committerDmitry Stogov <dmitry@zend.com>2017-11-02 14:40:28 +0300
commit749db50a3652d810b09a52fcdb2ce2b3a8cb56fc (patch)
treef782fee5d0484a85d2a534cc9b81942a21c54391 /sapi/cli/php_cli_server.c
parentb59c9fb45baa5682e351c96c8e72c68ebc08298d (diff)
downloadphp-git-749db50a3652d810b09a52fcdb2ce2b3a8cb56fc.tar.gz
Added exceptions for ZEND_RC_DEBUG
Diffstat (limited to 'sapi/cli/php_cli_server.c')
-rw-r--r--sapi/cli/php_cli_server.c9
1 files 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) {