Commit dc665388 authored by Paul Vriens's avatar Paul Vriens Committed by Alexandre Julliard

advapi32/service: Fix buffersize calculations for GetServiceDisplayNameW.

parent 95d2f046
...@@ -2356,6 +2356,10 @@ BOOL WINAPI GetServiceDisplayNameW( SC_HANDLE hSCManager, LPCWSTR lpServiceName, ...@@ -2356,6 +2356,10 @@ BOOL WINAPI GetServiceDisplayNameW( SC_HANDLE hSCManager, LPCWSTR lpServiceName,
SetLastError(ret); SetLastError(ret);
return FALSE; return FALSE;
} }
/* Always return the correct needed size on success */
*lpcchBuffer = (size / sizeof(WCHAR)) - 1;
return TRUE; return TRUE;
} }
......
...@@ -527,12 +527,9 @@ static void test_get_displayname(void) ...@@ -527,12 +527,9 @@ static void test_get_displayname(void)
GetLastError() == ERROR_IO_PENDING /* W2K */ || GetLastError() == ERROR_IO_PENDING /* W2K */ ||
GetLastError() == 0xdeadbeef /* NT4, XP, Vista */, GetLastError() == 0xdeadbeef /* NT4, XP, Vista */,
"Expected ERROR_SUCCESS, ERROR_IO_PENDING or 0xdeadbeef, got %d\n", GetLastError()); "Expected ERROR_SUCCESS, ERROR_IO_PENDING or 0xdeadbeef, got %d\n", GetLastError());
todo_wine
{
ok(displaysize == tempsizeW, "Expected the needed buffersize\n"); ok(displaysize == tempsizeW, "Expected the needed buffersize\n");
ok(lstrlenW(displaynameW) == displaysize, ok(lstrlenW(displaynameW) == displaysize,
"Expected the buffer to be the length of the string\n") ; "Expected the buffer to be the length of the string\n") ;
}
ok(tempsize / 2 == tempsizeW, ok(tempsize / 2 == tempsizeW,
"Expected the needed buffersize (in bytes) to be the same for the A and W call\n"); "Expected the needed buffersize (in bytes) to be the same for the A and W call\n");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment