On 25/06/18 08:20, Nikolay Sivov wrote:
On 06/25/2018 06:46 AM, Zebediah Figura wrote:
Should hopefully fix test failures on Windows.
Signed-off-by: Zebediah Figura z.figura12@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.
Thanks for the catch; resent.