From b7737eacf173f52fd99e073f8f60c92216b32246 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Mon, 31 Mar 2014 19:57:42 +0000 Subject: [PATCH] [RTL] - Fix buffer overrun in RtlNumberOfSetBits svn path=/trunk/; revision=62591 --- reactos/lib/rtl/bitmap.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/reactos/lib/rtl/bitmap.c b/reactos/lib/rtl/bitmap.c index b009355dc90..6ceddf927ee 100644 --- a/reactos/lib/rtl/bitmap.c +++ b/reactos/lib/rtl/bitmap.c @@ -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; }