{
/* Release it */
ASSERT(*ReleaseHive != NULL);
- HvReleaseCell((*ReleaseHive), *ReleaseCell);
+ HvReleaseCell(*ReleaseHive, *ReleaseCell);
}
/* Get the link references */
*Cell = (*KeyNode)->ChildHiveReference.KeyCell;
/* Get the new node */
- *KeyNode = (PCM_KEY_NODE)HvGetCell((*Hive), *Cell);
+ *KeyNode = (PCM_KEY_NODE)HvGetCell(*Hive, *Cell);
if (*KeyNode)
{
/* Set the new release values */
&Node,
&HiveToRelease,
&CellToRelease);
- if (!Node) ASSERT(FALSE);
+ if (!Node)
+ {
+ /* Fail */
+ Status = STATUS_INSUFFICIENT_RESOURCES;
+ break;
+ }
}
/* Do the open */
&Node,
&HiveToRelease,
&CellToRelease);
- if (!Node) ASSERT(FALSE);
+ if (!Node)
+ {
+ /* Fail */
+ Status = STATUS_INSUFFICIENT_RESOURCES;
+ break;
+ }
}
/* Create a KCB for this key */
ParentKcb,
0,
&NextName);
- if (!Kcb) ASSERT(FALSE);
+ if (!Kcb)
+ {
+ /* Fail */
+ Status = STATUS_INSUFFICIENT_RESOURCES;
+ break;
+ }
/* Dereference the parent and set the new one */
CmpDereferenceKeyControlBlock(ParentKcb);
&Node,
&HiveToRelease,
&CellToRelease);
- if (!Node) ASSERT(FALSE);
+ if (!Node)
+ {
+ /* Fail */
+ Status = STATUS_INSUFFICIENT_RESOURCES;
+ break;
+ }
}
/* Do the open */
/* Dereference the parent if it exists */
Quickie:
- if (ParentKcb) CmpDereferenceKeyControlBlock(ParentKcb);
+ if (ParentKcb)
+ CmpDereferenceKeyControlBlock(ParentKcb);
/* Unlock the registry */
CmpUnlockRegistry();