Fix the case where lpszSearchFile is NULL in FtpFindFirstFile.
This commit is contained in:
parent
773784ea01
commit
378dec1519
|
@ -606,7 +606,7 @@ HINTERNET WINAPI FtpFindFirstFileW(HINTERNET hConnect,
|
||||||
workRequest.asyncall = FTPFINDFIRSTFILEW;
|
workRequest.asyncall = FTPFINDFIRSTFILEW;
|
||||||
workRequest.handle = hConnect;
|
workRequest.handle = hConnect;
|
||||||
req = &workRequest.u.FtpFindFirstFileW;
|
req = &workRequest.u.FtpFindFirstFileW;
|
||||||
req->lpszSearchFile = WININET_strdupW(lpszSearchFile);
|
req->lpszSearchFile = (lpszSearchFile == NULL) ? NULL : WININET_strdupW(lpszSearchFile);
|
||||||
req->lpFindFileData = lpFindFileData;
|
req->lpFindFileData = lpFindFileData;
|
||||||
req->dwFlags = dwFlags;
|
req->dwFlags = dwFlags;
|
||||||
req->dwContext= dwContext;
|
req->dwContext= dwContext;
|
||||||
|
@ -2659,7 +2659,7 @@ HINTERNET FTP_ReceiveFileList(LPWININETFTPSESSIONW lpwfs, INT nSocket, LPCWSTR l
|
||||||
LPWININETFINDNEXTW lpwfn = NULL;
|
LPWININETFINDNEXTW lpwfn = NULL;
|
||||||
HINTERNET handle = 0;
|
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))
|
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(lpfp->lpszName) {
|
||||||
if(PathMatchSpecW(lpfp->lpszName, lpszSearchFile)) {
|
if((lpszSearchFile == NULL) ||
|
||||||
|
(PathMatchSpecW(lpfp->lpszName, lpszSearchFile))) {
|
||||||
found = TRUE;
|
found = TRUE;
|
||||||
TRACE("Matched: %s\n", debugstr_w(lpfp->lpszName));
|
TRACE("Matched: %s\n", debugstr_w(lpfp->lpszName));
|
||||||
}
|
}
|
||||||
|
|
|
@ -2556,7 +2556,8 @@ VOID INTERNET_ExecuteWork()
|
||||||
req = &workRequest.u.FtpFindFirstFileW;
|
req = &workRequest.u.FtpFindFirstFileW;
|
||||||
FTP_FtpFindFirstFileW(workRequest.handle, req->lpszSearchFile,
|
FTP_FtpFindFirstFileW(workRequest.handle, req->lpszSearchFile,
|
||||||
req->lpFindFileData, req->dwFlags, req->dwContext);
|
req->lpFindFileData, req->dwFlags, req->dwContext);
|
||||||
HeapFree(GetProcessHeap(), 0, req->lpszSearchFile);
|
if (req->lpszSearchFile != NULL)
|
||||||
|
HeapFree(GetProcessHeap(), 0, req->lpszSearchFile);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue