- CmpPrepareKey: If cell signature is CM_KEY_NODE_SIGNATURE, the KeyCell is index leaf, handle it properly by calling CmpPrepareKey vice CmpPrepareIndexOfKeys. Fixes ASSERT in cminit.c that occurs on reboot after installing some applications.

svn path=/trunk/; revision=43445
This commit is contained in:
Michael Martin 2009-10-14 09:50:31 +00:00
parent 7143b94c1b
commit a9b7f4cd7a

View file

@ -82,7 +82,10 @@ CmpPrepareIndexOfKeys(
for (i = 0; i < IndexCell->Count; i++)
{
PCM_KEY_INDEX SubIndexCell = HvGetCell(RegistryHive, IndexCell->List[i]);
CmpPrepareIndexOfKeys(RegistryHive, SubIndexCell);
if (SubIndexCell->Signature == CM_KEY_NODE_SIGNATURE)
CmpPrepareKey(RegistryHive, (PCM_KEY_NODE)SubIndexCell);
else
CmpPrepareIndexOfKeys(RegistryHive, SubIndexCell);
}
}
else if (IndexCell->Signature == CM_KEY_FAST_LEAF ||