advapi32/service: Fix buffersize calculations for GetServiceDisplayNameW.

This commit is contained in:
Paul Vriens 2007-07-26 16:15:44 +02:00 committed by Alexandre Julliard
parent 95d2f04611
commit dc6653887c
2 changed files with 4 additions and 3 deletions

View File

@ -2356,6 +2356,10 @@ BOOL WINAPI GetServiceDisplayNameW( SC_HANDLE hSCManager, LPCWSTR lpServiceName,
SetLastError(ret);
return FALSE;
}
/* Always return the correct needed size on success */
*lpcchBuffer = (size / sizeof(WCHAR)) - 1;
return TRUE;
}

View File

@ -527,12 +527,9 @@ static void test_get_displayname(void)
GetLastError() == ERROR_IO_PENDING /* W2K */ ||
GetLastError() == 0xdeadbeef /* NT4, XP, Vista */,
"Expected ERROR_SUCCESS, ERROR_IO_PENDING or 0xdeadbeef, got %d\n", GetLastError());
todo_wine
{
ok(displaysize == tempsizeW, "Expected the needed buffersize\n");
ok(lstrlenW(displaynameW) == displaysize,
"Expected the buffer to be the length of the string\n") ;
}
ok(tempsize / 2 == tempsizeW,
"Expected the needed buffersize (in bytes) to be the same for the A and W call\n");