diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2018-05-28 16:27:12 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2018-05-28 16:27:12 +0300 |
| commit | 5eb1f92f31cafc48384f9096012f421b37f6d425 (patch) | |
| tree | 4ed67b92229407e7b5cbab37b96428fe80eb3f94 /ext/json/json_parser.y | |
| parent | 925f05dd1a35eafa71eb29abb69cdfc31a23a75d (diff) | |
| download | php-git-5eb1f92f31cafc48384f9096012f421b37f6d425.tar.gz | |
Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.
Diffstat (limited to 'ext/json/json_parser.y')
| -rw-r--r-- | ext/json/json_parser.y | 6 |
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; } |
