wininet: Space for current directory allocated from the heap
Phil Lodwick
Phil.Lodwick at EFI.COM
Mon May 22 16:02:29 CDT 2006
---
dlls/wininet/ftp.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
80e348f59e9dd2e4dbacc623e50bb5467dc15192
diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c
index 0024a95..4eff21b 100644
--- a/dlls/wininet/ftp.c
+++ b/dlls/wininet/ftp.c
@@ -746,16 +746,21 @@ lend:
BOOL WINAPI FtpGetCurrentDirectoryA(HINTERNET hFtpSession, LPSTR
lpszCurrentDirectory,
LPDWORD lpdwCurrentDirectory)
{
- WCHAR dir[MAX_PATH];
+ WCHAR *dir = NULL;
DWORD len;
BOOL ret;
- if(lpdwCurrentDirectory) len = *lpdwCurrentDirectory;
+ if(lpdwCurrentDirectory) {
+ len = *lpdwCurrentDirectory;
+ dir = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ }
ret = FtpGetCurrentDirectoryW(hFtpSession,
lpszCurrentDirectory?dir:NULL, lpdwCurrentDirectory?&len:NULL);
if(lpdwCurrentDirectory) {
*lpdwCurrentDirectory = len;
- if(lpszCurrentDirectory)
+ if(lpszCurrentDirectory) {
WideCharToMultiByte(CP_ACP, 0, dir, len, lpszCurrentDirectory,
*lpdwCurrentDirectory, NULL, NULL);
+ HeapFree(GetProcessHeap(), 0, dir);
+ }
}
return ret;
}
--
1.2.4
More information about the wine-patches
mailing list