summaryrefslogtreecommitdiff
path: root/ext/mbstring/mbstring.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-04-12 10:37:08 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-04-12 10:37:08 +0200
commit354a1c27aad72b77d91bc130716c0c3bd4617463 (patch)
treefa2de8430f62eb7153caab292eeb450e162c9059 /ext/mbstring/mbstring.c
parentd2d1a50b0419ec416dc3a144d49bae2da6f1b799 (diff)
parent3b53d28e607ba60e8a25b1fca8317565eab28b77 (diff)
downloadphp-git-354a1c27aad72b77d91bc130716c0c3bd4617463.tar.gz
Merge branch 'PHP-7.2' into PHP-7.3
Diffstat (limited to 'ext/mbstring/mbstring.c')
-rw-r--r--ext/mbstring/mbstring.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index 5707e1ca40..c5b8820993 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -3134,7 +3134,7 @@ MBSTRING_API HashTable *php_mb_convert_encoding_recursive(HashTable *input, cons
{
HashTable *output, *chash;
zend_long idx;
- zend_string *key, *key_tmp;
+ zend_string *key;
zval *entry, entry_tmp;
size_t ckey_len, cval_len;
char *ckey, *cval;
@@ -3154,7 +3154,8 @@ MBSTRING_API HashTable *php_mb_convert_encoding_recursive(HashTable *input, cons
/* convert key */
if (key) {
ckey = php_mb_convert_encoding(ZSTR_VAL(key), ZSTR_LEN(key), _to_encoding, _from_encodings, &ckey_len);
- key_tmp = zend_string_init(ckey, ckey_len, 0);
+ key = zend_string_init(ckey, ckey_len, 0);
+ efree(ckey);
}
/* convert value */
ZEND_ASSERT(entry);
@@ -3182,13 +3183,14 @@ MBSTRING_API HashTable *php_mb_convert_encoding_recursive(HashTable *input, cons
case IS_OBJECT:
default:
if (key) {
- efree(key_tmp);
+ zend_string_release(key);
}
php_error_docref(NULL, E_WARNING, "Object is not supported");
continue;
}
if (key) {
- zend_hash_add(output, key_tmp, &entry_tmp);
+ zend_hash_add(output, key, &entry_tmp);
+ zend_string_release(key);
} else {
zend_hash_index_add(output, idx, &entry_tmp);
}