dereference processes when enumerating them was cancelled. Accidently removed that. Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c _____
Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c --- trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 13:24:46 UTC (rev 14059) +++ trunk/reactos/ntoskrnl/ex/sysinfo.c 2005-03-14 13:42:38 UTC (rev 14060) @@ -676,6 +676,11 @@
else pCur = pCur + curSize + inLen; } while ((pr != syspr) && (pr != NULL)); + + if(pr != NULL) + { + ObDereferenceObject(pr); + }
*ReqSize = ovlSize; return (STATUS_SUCCESS); @@ -859,6 +864,11 @@ if ((pr == syspr) || (pr == NULL)) break; } while ((pr != syspr) && (pr != NULL)); + + if(pr != NULL) + { + ObDereferenceObject(pr); + }
DPRINT("SystemHandleInformation 2\n");
@@ -899,6 +909,11 @@ break; } while ((pr != syspr) && (pr != NULL));
+ if(pr != NULL) + { + ObDereferenceObject(pr); + } + DPRINT("SystemHandleInformation 4\n"); return (STATUS_SUCCESS);