Index: lib/inflib/CMakeLists.txt =================================================================== --- lib/inflib/CMakeLists.txt (revision 58206) +++ lib/inflib/CMakeLists.txt (working copy) @@ -21,9 +21,6 @@ infhostrtl.c) add_definitions(-D__NO_CTYPE_INLINES -DINFLIB_HOST) - if(MSVC) - add_definitions(-D_CRT_NON_CONFORMING_SWPRINTFS) - endif() add_library(inflibhost ${GLOBAL_FILES} ${SOURCE}) if(NOT MSVC) add_target_compile_flags(inflibhost "-Wpointer-arith -Wwrite-strings") Index: lib/inflib/infget.c =================================================================== --- lib/inflib/infget.c (revision 58206) +++ lib/inflib/infget.c (working copy) @@ -34,6 +34,8 @@ PWCHAR Data = NULL; WCHAR ValueName[MAX_INF_STRING_LENGTH +1]; WCHAR StringLangId[13]; + const int StringLangIdSize = sizeof(StringLangId)/sizeof(StringLangId[0]) - 1; + StringLangId[0] = 0; if (!*len) /* empty string (%%) is replaced by single percent */ { @@ -48,9 +50,10 @@ if (Inf->LanguageId != 0) { - swprintf(StringLangId, - L"Strings.%04hx", - Inf->LanguageId); + _snwprintf(StringLangId, + StringLangIdSize, + L"Strings.%04hx", + Inf->LanguageId); Status = InfpFindFirstLine(Inf, StringLangId, @@ -58,7 +61,8 @@ &Context); if (Status != INF_STATUS_SUCCESS) { - swprintf(StringLangId, + _snwprintf(StringLangId, + StringLangIdSize, L"Strings.%04hx", MAKELANGID(PRIMARYLANGID(Inf->LanguageId), SUBLANG_NEUTRAL));