urlmon: Use unescaped Urls for FTP actions (try 3)

Nikolay Sivov bunglehead at gmail.com
Fri Mar 25 17:27:34 CDT 2011


On 3/26/2011 01:22, André Hentschel wrote:
> Jacek gave me some advice and we made sure we have no other option to unescape the url.
> ---
>   dlls/urlmon/ftp.c |    6 ++++++
>   1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/dlls/urlmon/ftp.c b/dlls/urlmon/ftp.c
> index c9d43b8..5857818 100644
> --- a/dlls/urlmon/ftp.c
> +++ b/dlls/urlmon/ftp.c
> @@ -60,12 +60,18 @@ static HRESULT FtpProtocol_open_request(Protocol *prot, IUri *uri, DWORD request
>   {
>       FtpProtocol *This = impl_from_Protocol(prot);
>       BSTR url;
> +    DWORD len;
>       HRESULT hres;
>
>       hres = IUri_GetAbsoluteUri(uri,&url);
>       if(FAILED(hres))
>           return hres;
>
> +    len = strlenW(url);
No need to slow down with strlenW, it's a BSTR.
> +    hres = UrlUnescapeW((LPWSTR)url, NULL,&len, URL_UNESCAPE_INPLACE);
> +    if(FAILED(hres))
> +        return hres;
> +
Leak! And why a cast by the way?





More information about the wine-devel mailing list