summaryrefslogtreecommitdiff
path: root/ext/json/json_parser.y
diff options
context:
space:
mode:
Diffstat (limited to 'ext/json/json_parser.y')
-rw-r--r--ext/json/json_parser.y6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/json/json_parser.y b/ext/json/json_parser.y
index 4c0dfa67d7..489cec1a5e 100644
--- a/ext/json/json_parser.y
+++ b/ext/json/json_parser.y
@@ -75,7 +75,7 @@ int json_yydebug = 1;
%type <pair> pair
%destructor { zval_dtor(&$$); } <value>
-%destructor { zend_string_release($$.key); zval_dtor(&$$.val); } <pair>
+%destructor { zend_string_release_ex($$.key, 0); zval_dtor(&$$.val); } <pair>
%code {
static int php_json_yylex(union YYSTYPE *value, php_json_parser *parser);
@@ -277,7 +277,7 @@ static int php_json_parser_object_update(php_json_parser *parser, zval *object,
zval zkey;
if (ZSTR_LEN(key) > 0 && ZSTR_VAL(key)[0] == '\0') {
parser->scanner.errcode = PHP_JSON_ERROR_INVALID_PROPERTY_NAME;
- zend_string_release(key);
+ zend_string_release_ex(key, 0);
zval_dtor(zvalue);
zval_dtor(object);
return FAILURE;
@@ -286,7 +286,7 @@ static int php_json_parser_object_update(php_json_parser *parser, zval *object,
zend_std_write_property(object, &zkey, zvalue, NULL);
Z_TRY_DELREF_P(zvalue);
}
- zend_string_release(key);
+ zend_string_release_ex(key, 0);
return SUCCESS;
}