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