[NTDLL_APITEST] Fix test for ProcessUserModeIOPL in Nt[Query/Set]InformationProcess

This commit is contained in:
Timo Kreuzer 2023-01-30 22:52:26 +02:00
parent e6c192b556
commit 9237c1a455

View file

@ -49,6 +49,20 @@ QuerySetProcessValidator(
break; break;
} }
/* This one works different from the others */
case ProcessUserModeIOPL:
{
if (ExpectedStatus == STATUS_INFO_LENGTH_MISMATCH)
{
SpecialStatus = STATUS_ACCESS_VIOLATION;
}
else
{
SpecialStatus = STATUS_INVALID_INFO_CLASS;
}
break;
}
/* These classes don't belong in the query group */ /* These classes don't belong in the query group */
case ProcessBasePriority: case ProcessBasePriority:
case ProcessRaisePriority: case ProcessRaisePriority:
@ -56,7 +70,6 @@ QuerySetProcessValidator(
case ProcessAccessToken: case ProcessAccessToken:
case ProcessLdtSize: case ProcessLdtSize:
case ProcessIoPortHandlers: case ProcessIoPortHandlers:
case ProcessUserModeIOPL:
case ProcessEnableAlignmentFaultFixup: case ProcessEnableAlignmentFaultFixup:
case ProcessAffinityMask: case ProcessAffinityMask:
case ProcessForegroundInformation: case ProcessForegroundInformation:
@ -116,9 +129,17 @@ QuerySetProcessValidator(
break; break;
} }
/* This one works different from the others */
case ProcessUserModeIOPL: case ProcessUserModeIOPL:
{ {
SpecialStatus = STATUS_PRIVILEGE_NOT_HELD; if (ExpectedStatus == STATUS_INFO_LENGTH_MISMATCH)
{
SpecialStatus = STATUS_ACCESS_VIOLATION;
}
else
{
SpecialStatus = STATUS_PRIVILEGE_NOT_HELD;
}
break; break;
} }