Fixes crash in kmtest:RtlRangeList.
if (Iterator->Stamp != RangeList->Stamp)
return STATUS_INVALID_PARAMETER;
+ if (Iterator->Current == NULL)
+ {
+ *Range = NULL;
+ return STATUS_NO_MORE_ENTRIES;
+ }
+
if (MoveForwards)
{
Next = ((PRTL_RANGE_ENTRY)Iterator->Current)->Entry.Flink;
}
if (Next == Iterator->RangeListHead)
+ {
+ Iterator->Current = NULL;
+ *Range = NULL;
return STATUS_NO_MORE_ENTRIES;
+ }
Iterator->Current = Next;
*Range = &((PRTL_RANGE_ENTRY)Next)->Range;