From 7a0cab18d02dd0a2467a7ecc0bef6f994642135b Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Mon, 13 Feb 2012 14:35:26 +0000 Subject: [PATCH] [RTL] Add missing parameter checks to RtlAreBitsClear and RtlAreBitsSet svn path=/trunk/; revision=55575 --- reactos/lib/rtl/bitmap.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/reactos/lib/rtl/bitmap.c b/reactos/lib/rtl/bitmap.c index 1b6f40c32b8..2dda265d6f6 100644 --- a/reactos/lib/rtl/bitmap.c +++ b/reactos/lib/rtl/bitmap.c @@ -365,6 +365,11 @@ RtlAreBitsClear( IN ULONG StartingIndex, IN ULONG Length) { + /* Verify parameters */ + if ((StartingIndex + Length > BitMapHeader->SizeOfBitMap) || + (StartingIndex + Length <= StartingIndex)) + return FALSE; + return RtlpGetLengthOfRunClear(BitMapHeader, StartingIndex, Length) >= Length; } @@ -375,6 +380,11 @@ RtlAreBitsSet( IN ULONG StartingIndex, IN ULONG Length) { + /* Verify parameters */ + if ((StartingIndex + Length > BitMapHeader->SizeOfBitMap) || + (StartingIndex + Length <= StartingIndex)) + return FALSE; + return RtlpGetLengthOfRunSet(BitMapHeader, StartingIndex, Length) >= Length; }