Don't fail when there are no more subkeys to delete in RegDeleteTree() Modified: trunk/reactos/lib/advapi32/reg/reg.c _____
Modified: trunk/reactos/lib/advapi32/reg/reg.c --- trunk/reactos/lib/advapi32/reg/reg.c 2005-10-03 21:35:12 UTC (rev 18251) +++ trunk/reactos/lib/advapi32/reg/reg.c 2005-10-03 21:37:05 UTC (rev 18252) @@ -1404,7 +1404,7 @@
/* open the subkey */ Status2 = NtOpenKey(&newDelKeys->KeyHandle, - DELETE | KEY_ENUMERATE_SUB_KEYS | KEY_QUERY_VALUE, + DELETE | KEY_ENUMERATE_SUB_KEYS, &ObjectAttributes); if (!NT_SUCCESS(Status2)) { @@ -1464,6 +1464,11 @@ Status2 = STATUS_INSUFFICIENT_RESOURCES; } } + else if (Status2 == STATUS_NO_MORE_ENTRIES) + { + ASSERT(newDelKeys == NULL); + break; + }
SubKeyFailure: ASSERT(newDelKeys != NULL); @@ -1511,7 +1516,7 @@ } else Status = STATUS_INSUFFICIENT_RESOURCES; - + return Status; }