mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 15:41:37 +00:00
- Don't leak registry lock in failure branches of CmpParseKey. Spotted by Timo.
svn path=/trunk/; revision=36602
This commit is contained in:
parent
509b66cef5
commit
f45ca4adda
1 changed files with 13 additions and 5 deletions
|
@ -1042,10 +1042,14 @@ CmpParseKey(IN PVOID ParseObject,
|
|||
|
||||
/* Check if everything was found cached */
|
||||
if (!TotalRemainingSubkeys) ASSERTMSG("Caching not implemented", FALSE);
|
||||
|
||||
|
||||
/* Don't do anything if we're being deleted */
|
||||
if (Kcb->Delete) return STATUS_OBJECT_NAME_NOT_FOUND;
|
||||
|
||||
if (Kcb->Delete)
|
||||
{
|
||||
Status = STATUS_OBJECT_NAME_NOT_FOUND;
|
||||
goto Quickie;
|
||||
}
|
||||
|
||||
/* Check if this is a symlink */
|
||||
if (Kcb->Flags & KEY_SYM_LINK)
|
||||
{
|
||||
|
@ -1092,8 +1096,12 @@ CmpParseKey(IN PVOID ParseObject,
|
|||
|
||||
/* Get the key node */
|
||||
Node = (PCM_KEY_NODE)HvGetCell(Hive, Cell);
|
||||
if (!Node) return STATUS_INSUFFICIENT_RESOURCES;
|
||||
|
||||
if (!Node)
|
||||
{
|
||||
Status = STATUS_INSUFFICIENT_RESOURCES;
|
||||
goto Quickie;
|
||||
}
|
||||
|
||||
/* Start parsing */
|
||||
Status = STATUS_NOT_IMPLEMENTED;
|
||||
while (TRUE)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue