From 436d8d962ae3e75020c6b93f3acba2ea0316daa5 Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sat, 29 Dec 2018 19:45:09 +0100 Subject: [PATCH] [FONT][WIN32SS] Hold the freetype lock while accessing freetype data --- win32ss/gdi/ntgdi/freetype.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/win32ss/gdi/ntgdi/freetype.c b/win32ss/gdi/ntgdi/freetype.c index 8ab25b94a99..7e7e1322856 100644 --- a/win32ss/gdi/ntgdi/freetype.c +++ b/win32ss/gdi/ntgdi/freetype.c @@ -4142,10 +4142,9 @@ ftGdiGetTextCharsetInfo( Face = FontGdi->SharedFace->Face; TEXTOBJ_UnlockText(TextObj); + memset(&fs, 0, sizeof(FONTSIGNATURE)); IntLockFreeType(); pOS2 = FT_Get_Sfnt_Table(Face, ft_sfnt_os2); - IntUnLockFreeType(); - memset(&fs, 0, sizeof(FONTSIGNATURE)); if (NULL != pOS2) { fs.fsCsb[0] = pOS2->ulCodePageRange1; @@ -4164,6 +4163,8 @@ ftGdiGetTextCharsetInfo( fs.fsCsb[0] |= FS_SYMBOL; } } + pOS2 = NULL; + IntUnLockFreeType(); DPRINT("Csb 1=%x 0=%x\n", fs.fsCsb[1],fs.fsCsb[0]); if (fs.fsCsb[0] == 0) { /* Let's see if we can find any interesting cmaps */