[SERVICES] Add a checks for vaild info level to RChangeServiceConfig2A/W and RQueryServiceConfig2A/W

CORE-14837
This commit is contained in:
Eric Kohl 2018-07-22 12:45:23 +02:00
parent add1be24a7
commit 91a5ee334d

View file

@ -5104,6 +5104,10 @@ RChangeServiceConfig2A(
DPRINT("RChangeServiceConfig2A() called\n");
DPRINT("dwInfoLevel = %lu\n", Info.dwInfoLevel);
if ((Info.dwInfoLevel < SERVICE_CONFIG_DESCRIPTION) ||
(Info.dwInfoLevel > SERVICE_CONFIG_FAILURE_ACTIONS))
return ERROR_INVALID_LEVEL;
InfoW.dwInfoLevel = Info.dwInfoLevel;
if (InfoW.dwInfoLevel == SERVICE_CONFIG_DESCRIPTION)
@ -5502,6 +5506,10 @@ RChangeServiceConfig2W(
if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS;
if ((Info.dwInfoLevel < SERVICE_CONFIG_DESCRIPTION) ||
(Info.dwInfoLevel > SERVICE_CONFIG_FAILURE_ACTIONS))
return ERROR_INVALID_LEVEL;
hSvc = ScmGetServiceFromHandle(hService);
if (hSvc == NULL)
{
@ -5638,6 +5646,10 @@ RQueryServiceConfig2A(
if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS;
if ((dwInfoLevel < SERVICE_CONFIG_DESCRIPTION) ||
(dwInfoLevel > SERVICE_CONFIG_FAILURE_ACTIONS))
return ERROR_INVALID_LEVEL;
hSvc = ScmGetServiceFromHandle(hService);
if (hSvc == NULL)
{
@ -5876,6 +5888,10 @@ RQueryServiceConfig2W(
if (ScmShutdown)
return ERROR_SHUTDOWN_IN_PROGRESS;
if ((dwInfoLevel < SERVICE_CONFIG_DESCRIPTION) ||
(dwInfoLevel > SERVICE_CONFIG_FAILURE_ACTIONS))
return ERROR_INVALID_LEVEL;
hSvc = ScmGetServiceFromHandle(hService);
if (hSvc == NULL)
{