diff options
Diffstat (limited to 'ext/json/json_parser.y')
-rw-r--r-- | ext/json/json_parser.y | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/ext/json/json_parser.y b/ext/json/json_parser.y index fafe75cbf3..43d941b56c 100644 --- a/ext/json/json_parser.y +++ b/ext/json/json_parser.y @@ -273,10 +273,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); |