Avoid crash inside CFCharacterSetIsLongCharacterMember (Bug#36507)
* src/macfont.m (macfont_supports_charset_and_languages_p) (macfont_has_char): Don't pass integers outside the Unicode codespace to CFCharacterSetIsLongCharacterMember. Do not merge to master.
This commit is contained in:
parent
e97c0437aa
commit
f0db687a28
1 changed files with 4 additions and 1 deletions
|
@ -2070,7 +2070,7 @@ static int macfont_variation_glyphs (struct font *, int c,
|
|||
ptrdiff_t j;
|
||||
|
||||
for (j = 0; j < ASIZE (chars); j++)
|
||||
if (TYPE_RANGED_INTEGERP (UTF32Char, AREF (chars, j))
|
||||
if (RANGED_INTEGERP (0, AREF (chars, j), MAX_UNICODE_CHAR)
|
||||
&& CFCharacterSetIsLongCharacterMember (desc_charset,
|
||||
XFASTINT (AREF (chars, j))))
|
||||
break;
|
||||
|
@ -2705,6 +2705,9 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no
|
|||
int result;
|
||||
CFCharacterSetRef charset;
|
||||
|
||||
if (c < 0 || c > MAX_UNICODE_CHAR)
|
||||
return false;
|
||||
|
||||
block_input ();
|
||||
if (FONT_ENTITY_P (font))
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue