From 378dec15193ecbe7df0686eb0add1dd31bda058f Mon Sep 17 00:00:00 2001 From: Lionel Ulmer Date: Tue, 1 Jun 2004 19:42:43 +0000 Subject: [PATCH] Fix the case where lpszSearchFile is NULL in FtpFindFirstFile. --- dlls/wininet/ftp.c | 7 ++++--- dlls/wininet/internet.c | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c index fd4c4cdb25c..16cefa76983 100644 --- a/dlls/wininet/ftp.c +++ b/dlls/wininet/ftp.c @@ -606,7 +606,7 @@ HINTERNET WINAPI FtpFindFirstFileW(HINTERNET hConnect, workRequest.asyncall = FTPFINDFIRSTFILEW; workRequest.handle = hConnect; req = &workRequest.u.FtpFindFirstFileW; - req->lpszSearchFile = WININET_strdupW(lpszSearchFile); + req->lpszSearchFile = (lpszSearchFile == NULL) ? NULL : WININET_strdupW(lpszSearchFile); req->lpFindFileData = lpFindFileData; req->dwFlags = dwFlags; req->dwContext= dwContext; @@ -2659,7 +2659,7 @@ HINTERNET FTP_ReceiveFileList(LPWININETFTPSESSIONW lpwfs, INT nSocket, LPCWSTR l LPWININETFINDNEXTW lpwfn = NULL; HINTERNET handle = 0; - TRACE("(%p,%d,%p,%ld)\n", lpwfs, nSocket, lpFindFileData, dwContext); + TRACE("(%p,%d,%s,%p,%ld)\n", lpwfs, nSocket, debugstr_w(lpszSearchFile), lpFindFileData, dwContext); if (FTP_ParseDirectory(lpwfs, nSocket, lpszSearchFile, &lpafp, &dwSize)) { @@ -2878,7 +2878,8 @@ BOOL FTP_ParseNextFile(INT nSocket, LPCWSTR lpszSearchFile, LPFILEPROPERTIESW lp } if(lpfp->lpszName) { - if(PathMatchSpecW(lpfp->lpszName, lpszSearchFile)) { + if((lpszSearchFile == NULL) || + (PathMatchSpecW(lpfp->lpszName, lpszSearchFile))) { found = TRUE; TRACE("Matched: %s\n", debugstr_w(lpfp->lpszName)); } diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c index f0b3c27c6cd..c4feac6ca4d 100644 --- a/dlls/wininet/internet.c +++ b/dlls/wininet/internet.c @@ -2556,7 +2556,8 @@ VOID INTERNET_ExecuteWork() req = &workRequest.u.FtpFindFirstFileW; FTP_FtpFindFirstFileW(workRequest.handle, req->lpszSearchFile, req->lpFindFileData, req->dwFlags, req->dwContext); - HeapFree(GetProcessHeap(), 0, req->lpszSearchFile); + if (req->lpszSearchFile != NULL) + HeapFree(GetProcessHeap(), 0, req->lpszSearchFile); } break; -- 2.11.4.GIT