Rob Shearman : wininet: The lpszLocalFileName parameter to CommitUrlCacheEntryA is optional, so check before converting it from Unicode to ANSI.
Alexandre Julliard
julliard at winehq.org
Mon Mar 17 10:46:43 CDT 2008
Module: wine
Branch: master
Commit: 99f651bd3707b869297da43c32c23606f89a3fd1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=99f651bd3707b869297da43c32c23606f89a3fd1
Author: Rob Shearman <rob at codeweavers.com>
Date: Mon Mar 17 13:22:14 2008 +0000
wininet: The lpszLocalFileName parameter to CommitUrlCacheEntryA is optional, so check before converting it from Unicode to ANSI.
---
dlls/wininet/urlcache.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/dlls/wininet/urlcache.c b/dlls/wininet/urlcache.c
index c5e37d8..429867a 100644
--- a/dlls/wininet/urlcache.c
+++ b/dlls/wininet/urlcache.c
@@ -2494,11 +2494,14 @@ BOOL WINAPI CommitUrlCacheEntryA(
goto cleanup;
MultiByteToWideChar(CP_ACP, 0, lpszUrlName, -1, url_name, len);
- len = MultiByteToWideChar(CP_ACP, 0, lpszLocalFileName, -1, NULL, 0);
- local_file_name = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
- if (!local_file_name)
- goto cleanup;
- MultiByteToWideChar(CP_ACP, 0, lpszLocalFileName, -1, local_file_name, len);
+ if (lpszLocalFileName)
+ {
+ len = MultiByteToWideChar(CP_ACP, 0, lpszLocalFileName, -1, NULL, 0);
+ local_file_name = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ if (!local_file_name)
+ goto cleanup;
+ MultiByteToWideChar(CP_ACP, 0, lpszLocalFileName, -1, local_file_name, len);
+ }
if (lpszFileExtension)
{
len = MultiByteToWideChar(CP_ACP, 0, lpszFileExtension, -1, NULL, 0);
@@ -2522,6 +2525,7 @@ BOOL WINAPI CommitUrlCacheEntryA(
cleanup:
HeapFree(GetProcessHeap(), 0, original_url);
+ HeapFree(GetProcessHeap(), 0, file_extension);
HeapFree(GetProcessHeap(), 0, local_file_name);
HeapFree(GetProcessHeap(), 0, url_name);
More information about the wine-cvs
mailing list