From ba031dcf4935edd3f16ed342339264ac46535816 Mon Sep 17 00:00:00 2001 From: Kimmo Varis Date: Thu, 10 Jul 2008 13:10:18 +0000 Subject: [PATCH] BUG: [ 2010053 ] Folder compare crashed since WinMerge 2.9.1.3 Fix ANSI build crash from AnsiConvert.cpp. --- Docs/Users/ChangeLog.txt | 1 + Src/AnsiConvert.cpp | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Docs/Users/ChangeLog.txt b/Docs/Users/ChangeLog.txt index ab7585c92..41f364ee4 100644 --- a/Docs/Users/ChangeLog.txt +++ b/Docs/Users/ChangeLog.txt @@ -10,6 +10,7 @@ WinMerge 2.11.1.1 Remove buildall.bat (#2013576) New option to enable plugins (disabled by default) (#2013845) BugFix: Use system codepage for paths (#1979429, #2008581) + BugFix: ANSI build crash in folder compare (#2010053) WinMerge 2.10.x (R2_10) branch created (r5561) diff --git a/Src/AnsiConvert.cpp b/Src/AnsiConvert.cpp index 4196671fb..02ea385f6 100644 --- a/Src/AnsiConvert.cpp +++ b/Src/AnsiConvert.cpp @@ -41,11 +41,13 @@ LPCSTR ansiconvert_ThreadCP(LPCTSTR str) * @param [in] str String to convert. * @param [in] codepage Codepage to use in conversion. * @return Ansi string. + * @note Function must allocate a new string, as DiffFileData gets the + * filename and expects it can be freed with free(). */ LPCSTR convert(LPCTSTR str, UINT codepage) { #ifndef UNICODE - return str; + return strdup(str); #else int len = WideCharToMultiByte(codepage, 0, str, -1, 0, 0, 0, 0); if (len) -- 2.11.0