From 0214f20262fe9ea92a29c2524aa486829e79e980 Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Fri, 22 Oct 2004 16:30:58 +0000 Subject: [PATCH] - Fix RtlIsRangeAvailable for boundary addresses and honour the RTL_RANGE_SHARED flag. svn path=/trunk/; revision=11379 --- reactos/ntoskrnl/rtl/rangelist.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/reactos/ntoskrnl/rtl/rangelist.c b/reactos/ntoskrnl/rtl/rangelist.c index 64949e46b38..7a9ac227e80 100644 --- a/reactos/ntoskrnl/rtl/rangelist.c +++ b/reactos/ntoskrnl/rtl/rangelist.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: rangelist.c,v 1.2 2004/08/15 16:39:11 chorns Exp $ +/* $Id: rangelist.c,v 1.3 2004/10/22 16:30:58 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -690,8 +690,10 @@ RtlIsRangeAvailable (IN PRTL_RANGE_LIST RangeList, while (Entry != &RangeList->ListHead) { Current = CONTAINING_RECORD (Entry, RTL_RANGE_ENTRY, Entry); - if (!((Current->Range.Start > End && Current->Range.End > End) || - (Current->Range.Start < Start && Current->Range.End < Start))) + if (!((Current->Range.Start >= End && Current->Range.End > End) || + (Current->Range.Start <= Start && Current->Range.End < Start && + (!(Flags & RTL_RANGE_SHARED) || + !(Current->Range.Flags & RTL_RANGE_SHARED))))) { if (Callback != NULL) {