mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-28 05:40:26 -04:00
json: fix high surrogate escapes
Surrogate escapes must add not or 0x10000, as the specified bits go up 0xfffff.
This commit is contained in:
parent
eea18a8a8a
commit
22ac5f85cc
3 changed files with 1 additions and 5 deletions
|
|
@ -594,7 +594,7 @@ static inline int spa_json_parse_stringn(const char *val, int len, char *result,
|
|||
v < 0xdc00 || v > 0xdfff)
|
||||
continue;
|
||||
p += 6;
|
||||
cp = 0x010000 | ((cp & 0x3ff) << 10) | (v & 0x3ff);
|
||||
cp = 0x010000 + (((cp & 0x3ff) << 10) | (v & 0x3ff));
|
||||
} else if (cp >= 0xdc00 && cp <= 0xdfff)
|
||||
continue;
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -989,10 +989,6 @@ PWTEST(json_data)
|
|||
/* spa_json_parse_string API doesn't do \0 */
|
||||
"y_object_escaped_null_in_key.json",
|
||||
"y_string_null_escape.json",
|
||||
|
||||
/* XXX: something with surrogate handling? */
|
||||
"y_string_last_surrogates_1_and_2.json",
|
||||
"y_string_unicode_U+10FFFE_nonchar.json",
|
||||
};
|
||||
|
||||
const char *basedir = getenv("PWTEST_DATA_DIR");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue