[PATCH v3 1/2] urlmon: Use unescaped Urls for FTP actions
From: André Hentschel <nerv(a)dawncrow.de> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26445 Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- dlls/urlmon/ftp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dlls/urlmon/ftp.c b/dlls/urlmon/ftp.c index aef4a6c..b1ae637 100644 --- a/dlls/urlmon/ftp.c +++ b/dlls/urlmon/ftp.c @@ -66,12 +66,16 @@ static HRESULT FtpProtocol_open_request(Protocol *prot, IUri *uri, DWORD request HINTERNET internet_session, IInternetBindInfo *bind_info) { FtpProtocol *This = impl_from_Protocol(prot); + DWORD path_size = 0; BSTR url; HRESULT hres; hres = IUri_GetAbsoluteUri(uri, &url); if(FAILED(hres)) return hres; + hres = UrlUnescapeW(url, NULL, &path_size, URL_UNESCAPE_INPLACE); + if(FAILED(hres)) + return hres; This->base.request = InternetOpenUrlW(internet_session, url, NULL, 0, request_flags|INTERNET_FLAG_EXISTING_CONNECT|INTERNET_FLAG_PASSIVE, -- 1.9.1
On 3/25/19 10:28 PM, Alistair Leslie-Hughes wrote:
From: André Hentschel <nerv(a)dawncrow.de>
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26445 Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- dlls/urlmon/ftp.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/urlmon/ftp.c b/dlls/urlmon/ftp.c index aef4a6c..b1ae637 100644 --- a/dlls/urlmon/ftp.c +++ b/dlls/urlmon/ftp.c @@ -66,12 +66,16 @@ static HRESULT FtpProtocol_open_request(Protocol *prot, IUri *uri, DWORD request HINTERNET internet_session, IInternetBindInfo *bind_info) { FtpProtocol *This = impl_from_Protocol(prot); + DWORD path_size = 0; BSTR url; HRESULT hres;
hres = IUri_GetAbsoluteUri(uri, &url); if(FAILED(hres)) return hres; + hres = UrlUnescapeW(url, NULL, &path_size, URL_UNESCAPE_INPLACE); + if(FAILED(hres)) + return hres;
There is a leak now, I will send a fixed version. Jacek
participants (2)
-
Alistair Leslie-Hughes -
Jacek Caban