From: Jeffrey Altman Date: Mon, 5 Jan 2009 18:16:44 +0000 (+0000) Subject: windows-license-smgl2rtf-20090105 X-Git-Tag: openafs-devel-1_5_61~631 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=e7edfbbf2204641ba08d0ae5e0d085e5f913f2d2;hp=8c4b06a5b62a07d4d6733b313ad404e1cb6abe8d windows-license-smgl2rtf-20090105 LICENSE MIT Ensure that the input string is nul terminated and then instruct WideCharToMultiByte to compute the length itself instead of passing in a value that is very likely to be wrong. --- diff --git a/src/WINNT/license/main.cpp b/src/WINNT/license/main.cpp index be65a89..6f34969 100644 --- a/src/WINNT/license/main.cpp +++ b/src/WINNT/license/main.cpp @@ -216,8 +216,8 @@ BOOL TranslateFile (LPTSTR psz) DWORD cbSource; if ((cbSource = GetFileSize (hFile, NULL)) != 0) { - LPTSTR abSource = (LPTSTR)malloc(cbSource + 1); - memset(abSource, 0x00, cbSource + 1); + LPTSTR abSource = (LPTSTR)malloc(cbSource + 4); + memset(abSource, 0x00, cbSource + 4); DWORD dwRead; if (!ReadFile (hFile, abSource, cbSource, &dwRead, NULL) || cbSource != dwRead) @@ -232,7 +232,7 @@ BOOL TranslateFile (LPTSTR psz) memset (abTarget, 0x00, cbTarget); BOOL fDefault = FALSE; - WideCharToMultiByte (g::CodePage, 0, (LPCWSTR)abSource, cbSource, abTarget, cbTarget, TEXT(" "), &fDefault); + WideCharToMultiByte (g::CodePage, 0, (LPCWSTR)abSource, -1, abTarget, cbTarget, TEXT(" "), &fDefault); rc = FormatFile (psz, abTarget);