mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 08:52:57 +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 */
|
/* Check if everything was found cached */
|
||||||
if (!TotalRemainingSubkeys) ASSERTMSG("Caching not implemented", FALSE);
|
if (!TotalRemainingSubkeys) ASSERTMSG("Caching not implemented", FALSE);
|
||||||
|
|
||||||
/* Don't do anything if we're being deleted */
|
/* 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 */
|
/* Check if this is a symlink */
|
||||||
if (Kcb->Flags & KEY_SYM_LINK)
|
if (Kcb->Flags & KEY_SYM_LINK)
|
||||||
{
|
{
|
||||||
|
@ -1092,8 +1096,12 @@ CmpParseKey(IN PVOID ParseObject,
|
||||||
|
|
||||||
/* Get the key node */
|
/* Get the key node */
|
||||||
Node = (PCM_KEY_NODE)HvGetCell(Hive, Cell);
|
Node = (PCM_KEY_NODE)HvGetCell(Hive, Cell);
|
||||||
if (!Node) return STATUS_INSUFFICIENT_RESOURCES;
|
if (!Node)
|
||||||
|
{
|
||||||
|
Status = STATUS_INSUFFICIENT_RESOURCES;
|
||||||
|
goto Quickie;
|
||||||
|
}
|
||||||
|
|
||||||
/* Start parsing */
|
/* Start parsing */
|
||||||
Status = STATUS_NOT_IMPLEMENTED;
|
Status = STATUS_NOT_IMPLEMENTED;
|
||||||
while (TRUE)
|
while (TRUE)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue