summaryrefslogtreecommitdiff
path: root/ext/json/json.c
diff options
context:
space:
mode:
authorJakub Zelenka <bukka@php.net>2015-06-28 17:16:12 +0100
committerJakub Zelenka <bukka@php.net>2015-06-28 17:16:12 +0100
commit64c371142cbdb82eb0879d247430797d73a8ac2d (patch)
tree280612b73745c40b0c838f2b8797eac712b72367 /ext/json/json.c
parent695b4f4cad83c90f928af8a1c227defd5c6ca63c (diff)
downloadphp-git-64c371142cbdb82eb0879d247430797d73a8ac2d.tar.gz
Fix bug #62010 (json_decode produces invalid byte-sequences)
Diffstat (limited to 'ext/json/json.c')
-rw-r--r--ext/json/json.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/json/json.c b/ext/json/json.c
index 8088a89b4e..79b9278513 100644
--- a/ext/json/json.c
+++ b/ext/json/json.c
@@ -122,6 +122,7 @@ static PHP_MINIT_FUNCTION(json)
REGISTER_LONG_CONSTANT("JSON_ERROR_INF_OR_NAN", PHP_JSON_ERROR_INF_OR_NAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("JSON_ERROR_UNSUPPORTED_TYPE", PHP_JSON_ERROR_UNSUPPORTED_TYPE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("JSON_ERROR_INVALID_PROPERTY_NAME", PHP_JSON_ERROR_INVALID_PROPERTY_NAME, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("JSON_ERROR_UTF16", PHP_JSON_ERROR_UTF16, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("JSON_OBJECT_AS_ARRAY", PHP_JSON_OBJECT_AS_ARRAY, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("JSON_BIGINT_AS_STRING", PHP_JSON_BIGINT_AS_STRING, CONST_CS | CONST_PERSISTENT);
@@ -303,6 +304,8 @@ static PHP_FUNCTION(json_last_error_msg)
RETURN_STRING("Type is not supported");
case PHP_JSON_ERROR_INVALID_PROPERTY_NAME:
RETURN_STRING("The decoded property name is invalid");
+ case PHP_JSON_ERROR_UTF16:
+ RETURN_STRING("Single unpaired UTF-16 surrogate in unicode escape");
default:
RETURN_STRING("Unknown error");
}