Module: wine Branch: master Commit: fb5eec2c1eb8cffaa5ee1902469735baa7b404c2 URL: https://source.winehq.org/git/wine.git/?a=commit;h=fb5eec2c1eb8cffaa5ee19024...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Tue Jun 9 12:14:34 2020 +0300
dwrite: Disallow recursing to reverse chaining substitution.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/dwrite/opentype.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/dlls/dwrite/opentype.c b/dlls/dwrite/opentype.c index 22ae106924..e502be1e12 100644 --- a/dlls/dwrite/opentype.c +++ b/dlls/dwrite/opentype.c @@ -5482,6 +5482,9 @@ static BOOL opentype_layout_apply_gsub_reverse_chain_context_substitution(struct unsigned int offset = subtable_offset; UINT16 glyph, format;
+ if (context->nesting_level_left != SHAPE_MAX_NESTING_LEVEL) + return FALSE; + glyph = context->u.subst.glyphs[context->cur];
format = table_read_be_word(table, offset);