urlmon: Fix possible NULL pointer access in heap_strdup*.

This commit is contained in:
André Hentschel 2012-11-17 22:52:38 +01:00 committed by Alexandre Julliard
parent c02b84d3c5
commit 78b08cdabd
1 changed files with 6 additions and 3 deletions

View File

@ -261,6 +261,7 @@ static inline LPWSTR heap_strdupW(LPCWSTR str)
size = (strlenW(str)+1)*sizeof(WCHAR); size = (strlenW(str)+1)*sizeof(WCHAR);
ret = heap_alloc(size); ret = heap_alloc(size);
if(ret)
memcpy(ret, str, size); memcpy(ret, str, size);
} }
@ -289,6 +290,7 @@ static inline LPWSTR heap_strdupAtoW(const char *str)
if(str) { if(str) {
DWORD len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0); DWORD len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
ret = heap_alloc(len*sizeof(WCHAR)); ret = heap_alloc(len*sizeof(WCHAR));
if(ret)
MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len); MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len);
} }
@ -302,6 +304,7 @@ static inline char *heap_strdupWtoA(const WCHAR *str)
if(str) { if(str) {
size_t size = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL); size_t size = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);
ret = heap_alloc(size); ret = heap_alloc(size);
if(ret)
WideCharToMultiByte(CP_ACP, 0, str, -1, ret, size, NULL, NULL); WideCharToMultiByte(CP_ACP, 0, str, -1, ret, size, NULL, NULL);
} }