mirror of
https://github.com/reactos/reactos.git
synced 2024-10-04 00:13:57 +00:00
QueryServiceConfig2A/W: Add more parameter checks. Fixes 3 winetest failures.
svn path=/trunk/; revision=35770
This commit is contained in:
parent
c1f3e0fa1c
commit
46cc92b9b6
|
@ -1831,7 +1831,15 @@ QueryServiceConfig2A(SC_HANDLE hService,
|
||||||
TRACE("QueryServiceConfig2A(%p, %lu, %p, %lu, %p)\n",
|
TRACE("QueryServiceConfig2A(%p, %lu, %p, %lu, %p)\n",
|
||||||
hService, dwInfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded);
|
hService, dwInfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded);
|
||||||
|
|
||||||
if (lpBuffer == NULL && cbBufSize != 0)
|
if (dwInfoLevel != SERVICE_CONFIG_DESCRIPTION &&
|
||||||
|
dwInfoLevel != SERVICE_CONFIG_FAILURE_ACTIONS)
|
||||||
|
{
|
||||||
|
SetLastError(ERROR_INVALID_LEVEL);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((lpBuffer == NULL && cbBufSize != 0) ||
|
||||||
|
pcbBytesNeeded == NULL)
|
||||||
{
|
{
|
||||||
SetLastError(ERROR_INVALID_ADDRESS);
|
SetLastError(ERROR_INVALID_ADDRESS);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -1921,7 +1929,15 @@ QueryServiceConfig2W(SC_HANDLE hService,
|
||||||
TRACE("QueryServiceConfig2W(%p, %lu, %p, %lu, %p)\n",
|
TRACE("QueryServiceConfig2W(%p, %lu, %p, %lu, %p)\n",
|
||||||
hService, dwInfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded);
|
hService, dwInfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded);
|
||||||
|
|
||||||
if (lpBuffer == NULL && cbBufSize != 0)
|
if (dwInfoLevel != SERVICE_CONFIG_DESCRIPTION &&
|
||||||
|
dwInfoLevel != SERVICE_CONFIG_FAILURE_ACTIONS)
|
||||||
|
{
|
||||||
|
SetLastError(ERROR_INVALID_LEVEL);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((lpBuffer == NULL && cbBufSize != 0) ||
|
||||||
|
pcbBytesNeeded == NULL)
|
||||||
{
|
{
|
||||||
SetLastError(ERROR_INVALID_ADDRESS);
|
SetLastError(ERROR_INVALID_ADDRESS);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
Loading…
Reference in a new issue