From a9b7f4cd7ae940a39b1a0342348c01a3183e266c Mon Sep 17 00:00:00 2001 From: Michael Martin Date: Wed, 14 Oct 2009 09:50:31 +0000 Subject: [PATCH] - 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 --- reactos/lib/cmlib/cminit.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/reactos/lib/cmlib/cminit.c b/reactos/lib/cmlib/cminit.c index 80f2893cf4f..59b3843432f 100644 --- a/reactos/lib/cmlib/cminit.c +++ b/reactos/lib/cmlib/cminit.c @@ -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 ||