libwinpr-crt: add extra null-terminator for ConvertFromUnicode.
authorVic Lee <llyzs@163.com>
Wed, 19 Dec 2012 14:03:31 +0000 (22:03 +0800)
committerVic Lee <llyzs@163.com>
Wed, 19 Dec 2012 14:03:31 +0000 (22:03 +0800)
winpr/libwinpr/crt/unicode.c

index 32d9447..672afc1 100644 (file)
@@ -341,7 +341,10 @@ int ConvertFromUnicode(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int
                allocate = TRUE;
 
        if (allocate)
-               *lpMultiByteStr = (LPSTR) malloc(cbMultiByte);
+       {
+               *lpMultiByteStr = (LPSTR) malloc(cbMultiByte + 1);
+               ZeroMemory(*lpMultiByteStr, cbMultiByte + 1);
+       }
 
        status = WideCharToMultiByte(CodePage, dwFlags, lpWideCharStr, cchWideChar,
                        *lpMultiByteStr, cbMultiByte, lpDefaultChar, lpUsedDefaultChar);