From: समीर सिंह Sameer Singh <lumarzeli30@gmail.com> Increase the glyph buffer allocation to 2 * cChar + 16 to accommodate the worst case scenario in mark_invalid_combinations() where every character in a run requires an inserted dotted circle. --- dlls/gdi32/uniscribe/usp10.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/gdi32/uniscribe/usp10.c b/dlls/gdi32/uniscribe/usp10.c index 43afbaac125..3aea03b81f0 100644 --- a/dlls/gdi32/uniscribe/usp10.c +++ b/dlls/gdi32/uniscribe/usp10.c @@ -1994,7 +1994,7 @@ HRESULT WINAPI ScriptStringAnalyse(HDC hdc, const void *pString, int cString, { SCRIPT_CACHE *sc = (SCRIPT_CACHE*)&analysis->glyphs[i].sc; int cChar = analysis->pItem[i+1].iCharPos - analysis->pItem[i].iCharPos; - int numGlyphs = 1.5 * cChar + 16; + int numGlyphs = 2 * cChar + 16; WORD *glyphs = calloc(numGlyphs, sizeof(*glyphs)); WORD *pwLogClust = calloc(cChar, sizeof(*pwLogClust)); int *piAdvance = calloc(numGlyphs, sizeof(*piAdvance)); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10612