- Fix buffer overrun in RtlNumberOfSetBits

svn path=/trunk/; revision=62591
This commit is contained in:
Thomas Faber 2014-03-31 19:57:42 +00:00
parent ba3759fb6b
commit b7737eacf1

View file

@ -467,8 +467,11 @@ RtlNumberOfSetBits(
BitCount += BitCountTable[*Byte++];
}
Shift = 8 - (BitMapHeader->SizeOfBitMap & 7);
BitCount += BitCountTable[((*Byte) << Shift) & 0xFF];
if (BitMapHeader->SizeOfBitMap & 7)
{
Shift = 8 - (BitMapHeader->SizeOfBitMap & 7);
BitCount += BitCountTable[((*Byte) << Shift) & 0xFF];
}
return BitCount;
}