Index: src/libictranslate/LanguageDialog.cpp =================================================================== diff -u -N -r8f15ad1d2f65340f4f5a30bc95f40a12b0b7dd66 -r4572f6cddf7dab06b1de99504a6bbd3680d11e6d --- src/libictranslate/LanguageDialog.cpp (.../LanguageDialog.cpp) (revision 8f15ad1d2f65340f4f5a30bc95f40a12b0b7dd66) +++ src/libictranslate/LanguageDialog.cpp (.../LanguageDialog.cpp) (revision 4572f6cddf7dab06b1de99504a6bbd3680d11e6d) @@ -572,8 +572,8 @@ ::ReleaseDC(NULL, hdc); lf.lfWeight = FW_NORMAL; lf.lfCharSet = DEFAULT_CHARSET; - _tcscpy(lf.lfFaceName, m_prm->m_ld.GetFontFace()); - + _tcsncpy_s(lf.lfFaceName, LF_FACESIZE, m_prm->m_ld.GetFontFace(), _TRUNCATE); + delete m_pFont; m_pFont=new CFont(); m_pFont->CreateFontIndirect(&lf); @@ -779,8 +779,7 @@ lf.lfHeight = -MulDiv(wPointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72); lf.lfWeight = FW_NORMAL; lf.lfCharSet = DEFAULT_CHARSET; - lstrcpyn(lf.lfFaceName, pszFacename, LF_FACESIZE); - lf.lfFaceName[LF_FACESIZE - 1] = _T('\0'); + _tcsncpy_s(lf.lfFaceName, LF_FACESIZE, pszFacename, _TRUNCATE); HFONT hNewFont = CreateFontIndirect(&lf); if (hNewFont != NULL)