-
Notifications
You must be signed in to change notification settings - Fork 446
Closed
Description
static VOID FilterEnumServiceStatus(LPENUM_SERVICE_STATUSW services, LPDWORD servicesReturned)
{
for (DWORD i = 0; i < *servicesReturned; i++)
{
// If hidden, move all following entries up by one and decrease count.
if (HasPrefix(services[i].lpServiceName) ||
HasPrefix(services[i].lpDisplayName) ||
IsServiceNameHidden(services[i].lpServiceName) ||
IsServiceNameHidden(services[i].lpDisplayName))
{
memmove(&services[i], &services[i + 1], (*servicesReturned - i - 1) * sizeof(ENUM_SERVICE_STATUSW));
(*servicesReturned)--;
i--;
}
}
}
what if the first service to hide when i=0,i-- would result in 4294967295.This issue occurs in more than one place
Metadata
Metadata
Assignees
Labels
No labels