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;
 }