summaryrefslogtreecommitdiff
path: root/ext/json/json_parser.tab.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-06-20 22:41:36 +0300
committerDmitry Stogov <dmitry@zend.com>2016-06-20 22:41:36 +0300
commit89533083aef2e905e44822db227e1d0cd14952e7 (patch)
tree69ca4da4148f7e31444826da3f889c1961416b23 /ext/json/json_parser.tab.c
parent7cc1b0016301d713d6566cf3ee77a8b27e41abb5 (diff)
parentf0d1cca6729f2593900af10d6aa324b7eedfe0c3 (diff)
downloadphp-git-89533083aef2e905e44822db227e1d0cd14952e7.tar.gz
Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: Use empty keys instead of _empty_ in json decoding update NEWS Fix bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA)
Diffstat (limited to 'ext/json/json_parser.tab.c')
-rw-r--r--ext/json/json_parser.tab.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/ext/json/json_parser.tab.c b/ext/json/json_parser.tab.c
index 02002d681b..862912c4ec 100644
--- a/ext/json/json_parser.tab.c
+++ b/ext/json/json_parser.tab.c
@@ -1881,10 +1881,7 @@ static int php_json_parser_object_update(php_json_parser *parser, zval *object,
zend_symtable_update(Z_ARRVAL_P(object), key, zvalue);
} else {
zval zkey;
- if (ZSTR_LEN(key) == 0) {
- zend_string_release(key);
- key = zend_string_init("_empty_", sizeof("_empty_") - 1, 0);
- } else if (ZSTR_VAL(key)[0] == '\0') {
+ if (ZSTR_LEN(key) > 0 && ZSTR_VAL(key)[0] == '\0') {
parser->scanner.errcode = PHP_JSON_ERROR_INVALID_PROPERTY_NAME;
zend_string_release(key);
zval_dtor(zvalue);