From fd6fcab2cae179740dc11e855d89f89d849a5f02 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 24 Jun 2012 18:33:08 +0000 Subject: [PATCH] [RTL] Fix remainung RtlBitmapApi tests svn path=/trunk/; revision=56799 --- reactos/lib/rtl/bitmap.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/reactos/lib/rtl/bitmap.c b/reactos/lib/rtl/bitmap.c index 0bedabcc311..e0bfaef4a9f 100644 --- a/reactos/lib/rtl/bitmap.c +++ b/reactos/lib/rtl/bitmap.c @@ -450,10 +450,14 @@ RtlFindClearBits( return MAXULONG; } + /* Check if the hint is outside the bitmap */ + if (HintIndex >= BitMapHeader->SizeOfBitMap) HintIndex = 0; + /* Check for trivial case */ if (NumberToFind == 0) { - return HintIndex; + /* Return hint rounded down to byte margin */ + return HintIndex & ~7; } /* First margin is end of bitmap */ @@ -514,10 +518,14 @@ RtlFindSetBits( return MAXULONG; } + /* Check if the hint is outside the bitmap */ + if (HintIndex >= BitMapHeader->SizeOfBitMap) HintIndex = 0; + /* Check for trivial case */ if (NumberToFind == 0) { - return HintIndex; + /* Return hint rounded down to byte margin */ + return HintIndex & ~7; } /* First margin is end of bitmap */