[PATCH] hnetcfg: Store the full path in INetFwAuthorizedApplication_put_ProcessImageFileName().

Nikolay Sivov nsivov at codeweavers.com
Mon Jun 25 08:20:39 CDT 2018


On 06/25/2018 06:46 AM, Zebediah Figura wrote:

> Should hopefully fix test failures on Windows.
>
> Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
> ---
>   dlls/hnetcfg/apps.c         | 17 ++++++++++++-----
>   dlls/hnetcfg/tests/policy.c |  5 ++++-
>   2 files changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/dlls/hnetcfg/apps.c b/dlls/hnetcfg/apps.c
> index 34ef108..fe47721 100644
> --- a/dlls/hnetcfg/apps.c
> +++ b/dlls/hnetcfg/apps.c
> @@ -268,7 +268,7 @@ static HRESULT WINAPI fw_app_put_ProcessImageFileName(
>   {
>       fw_app *This = impl_from_INetFwAuthorizedApplication( iface );
>       UNIVERSAL_NAME_INFOW *info;
> -    WCHAR *netpath;
> +    WCHAR *path;
>       DWORD res;
>       DWORD sz;
>   
> @@ -281,22 +281,29 @@ static HRESULT WINAPI fw_app_put_ProcessImageFileName(
>       res = WNetGetUniversalNameW(image, UNIVERSAL_NAME_INFO_LEVEL, NULL, &sz);
>       if (res == WN_MORE_DATA)
>       {
> -        if (!(netpath = heap_alloc(sz)))
> +        if (!(path = heap_alloc(sz)))
>               return E_OUTOFMEMORY;
>   
> -        info = (UNIVERSAL_NAME_INFOW *)&netpath;
> +        info = (UNIVERSAL_NAME_INFOW *)&path;
>           res = WNetGetUniversalNameW(image, UNIVERSAL_NAME_INFO_LEVEL, &info, &sz);
>           if (res == NO_ERROR)
>           {
>               SysFreeString(This->filename);
>               This->filename = SysAllocString(info->lpUniversalName);
>           }
> -        heap_free(netpath);
> +        heap_free(path);
>           return HRESULT_FROM_WIN32(res);
>       }
>   
> +    sz = GetFullPathNameW(image, 0, NULL, NULL);
> +    if (!(path = heap_alloc(++sz)))
> +        return E_OUTOFMEMORY;
> +
> +    GetFullPathNameW(image, sz, path, NULL);

...

>
>   
> +    GetFullPathNameW(image, sizeof(fullpath), fullpath, NULL);
...

This one takes character length I think, not byte length.



More information about the wine-devel mailing list