From 8178e52806df5ca95c6854af5daa99bd9f71b33c Mon Sep 17 00:00:00 2001 From: Richard Frith-Macdonald Date: Thu, 19 Nov 2020 08:27:06 -0500 Subject: [PATCH] Correct checks for validity of the second UTF16 value in a surrogate pair --- Source/Additions/Unicode.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Additions/Unicode.m b/Source/Additions/Unicode.m index 856995978..98d1f7eb9 100644 --- a/Source/Additions/Unicode.m +++ b/Source/Additions/Unicode.m @@ -1936,7 +1936,7 @@ GSFromUnicode(unsigned char **dst, unsigned int *size, const unichar *src, u2 = src[spos++]; u2 = (((u2 & 0xff00) >> 8) + ((u2 & 0x00ff) << 8)); - if ((u2 < 0xdc00) && (u2 > 0xdfff)) + if ((u2 < 0xdc00) || (u2 > 0xdfff)) { spos--; if (strict) @@ -2054,7 +2054,7 @@ GSFromUnicode(unsigned char **dst, unsigned int *size, const unichar *src, /* get second unichar */ u2 = src[spos++]; - if ((u2 < 0xdc00) && (u2 > 0xdfff)) + if ((u2 < 0xdc00) || (u2 > 0xdfff)) { spos--; if (strict)