Correct checks for validity of the second UTF16 value in a surrogate pair

This commit is contained in:
Richard Frith-Macdonald 2020-11-19 08:27:06 -05:00
parent 5aa4b7a732
commit 8178e52806

View file

@ -1936,7 +1936,7 @@ GSFromUnicode(unsigned char **dst, unsigned int *size, const unichar *src,
u2 = src[spos++]; u2 = src[spos++];
u2 = (((u2 & 0xff00) >> 8) + ((u2 & 0x00ff) << 8)); u2 = (((u2 & 0xff00) >> 8) + ((u2 & 0x00ff) << 8));
if ((u2 < 0xdc00) && (u2 > 0xdfff)) if ((u2 < 0xdc00) || (u2 > 0xdfff))
{ {
spos--; spos--;
if (strict) if (strict)
@ -2054,7 +2054,7 @@ GSFromUnicode(unsigned char **dst, unsigned int *size, const unichar *src,
/* get second unichar */ /* get second unichar */
u2 = src[spos++]; u2 = src[spos++];
if ((u2 < 0xdc00) && (u2 > 0xdfff)) if ((u2 < 0xdc00) || (u2 > 0xdfff))
{ {
spos--; spos--;
if (strict) if (strict)