- 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++) for (i = 0; i < IndexCell->Count; i++)
{ {
PCM_KEY_INDEX SubIndexCell = HvGetCell(RegistryHive, IndexCell->List[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 || else if (IndexCell->Signature == CM_KEY_FAST_LEAF ||