[ntoskrnl\config]

- Description of what previous code was doing in commit r44469 was completely incorrect. Source prior to r44469 was only missing parentheses. 
- CmpSplitLeaf: Revert back to previous code with correct fix. Fireballs code was correct, and because I found it before him I save myself from a severe lashing.

svn path=/trunk/; revision=44481
This commit is contained in:
Michael Martin 2009-12-09 14:15:11 +00:00
parent 970b46f977
commit 81125deea0

View file

@ -1289,14 +1289,13 @@ CmpSplitLeaf(IN PHHIVE Hive,
LastHalf * EntrySize); LastHalf * EntrySize);
} }
/* If RootSelect is not the last index */ /* Shift the data inside the root key */
if (RootSelect < (IndexKey->Count - 1)) if (RootSelect < (IndexKey->Count - 1))
{ {
/* Shift indexes to the right */ RtlMoveMemory(&IndexKey->List[RootSelect + 2],
ULONG IndexCount; &IndexKey->List[RootSelect + 1],
/* IndexKey->Count will be incremented below */ (IndexKey->Count -
for (IndexCount = IndexKey->Count; IndexCount > RootSelect + 1; IndexCount --) (RootSelect + 1)) * sizeof(HCELL_INDEX));
IndexKey->List[IndexCount] = IndexKey->List[IndexCount -1];
} }
/* Make sure both old and new computed counts are valid */ /* Make sure both old and new computed counts are valid */