mirror of
https://github.com/json-c/json-c.git
synced 2026-03-25 16:09:06 +08:00
Issue #616: Change the parsing of surrogate pairs in unicode escapes so it uses a couple of additional states instead of assuming the low surrogate is already present, to ensure that we correctly handle various cases of incremental parsing.
This commit is contained in:
@@ -124,6 +124,12 @@ json_tokener_parse_ex(tok, "\ud834\ , 8) ... OK: got correct error: continu
|
||||
json_tokener_parse_ex(tok, udd1e" , 6) ... OK: got object of type [string]: "𝄞"
|
||||
json_tokener_parse_ex(tok, "\ud834\u , 9) ... OK: got correct error: continue
|
||||
json_tokener_parse_ex(tok, dd1e" , 5) ... OK: got object of type [string]: "𝄞"
|
||||
json_tokener_parse_ex(tok, "fff \ud834\ud, 14) ... OK: got correct error: continue
|
||||
json_tokener_parse_ex(tok, d1e bar" , 8) ... OK: got object of type [string]: "fff 𝄞 bar"
|
||||
json_tokener_parse_ex(tok, "fff \ud834\udd, 15) ... OK: got correct error: continue
|
||||
json_tokener_parse_ex(tok, 1e bar" , 7) ... OK: got object of type [string]: "fff 𝄞 bar"
|
||||
json_tokener_parse_ex(tok, "fff \ud83d\ude, 15) ... OK: got correct error: continue
|
||||
json_tokener_parse_ex(tok, 00 bar" , 7) ... OK: got object of type [string]: "fff 😀 bar"
|
||||
json_tokener_parse_ex(tok, { "foo , 6) ... OK: got correct error: continue
|
||||
json_tokener_parse_ex(tok, : "bar"} , 8) ... OK: got correct error: unexpected character
|
||||
json_tokener_parse_ex(tok, { "foo , 6) ... OK: got correct error: continue
|
||||
@@ -240,5 +246,5 @@ json_tokener_parse_ex(tok, "\ud855
|
||||
json_tokener_parse_ex(tok, "\ud0031<33>" , 10) ... OK: got correct error: invalid utf-8 string
|
||||
json_tokener_parse_ex(tok, 11<31>11 , 5) ... OK: got correct error: invalid utf-8 string
|
||||
json_tokener_parse_ex(tok, {"1<>":1} , 8) ... OK: got correct error: invalid utf-8 string
|
||||
End Incremental Tests OK=154 ERROR=0
|
||||
End Incremental Tests OK=160 ERROR=0
|
||||
==================================
|
||||
|
||||
Reference in New Issue
Block a user