Author: ion
Date: Mon Feb 20 07:30:26 2012
New Revision: 55737

URL: http://svn.reactos.org/svn/reactos?rev=55737&view=rev
Log:
[NTOSKRNL]: Fix the zombie fix. Should fix toolhelp tests.
[NTOSKRNL]: If you're going to fake success when doing access checks, also 
grant the rights that would normally be refused, for consistency's sake. Should 
fix a bunch of the kernel32:synch tests (which have nothing to do with 
synch...).

Modified:
    trunk/reactos/ntoskrnl/ex/sysinfo.c
    trunk/reactos/ntoskrnl/se/semgr.c

Modified: trunk/reactos/ntoskrnl/ex/sysinfo.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/sysinfo.c?rev=55737&r1=55736&r2=55737&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/ex/sysinfo.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ex/sysinfo.c [iso-8859-1] Mon Feb 20 07:30:26 2012
@@ -721,8 +721,6 @@
         SystemProcess = PsIdleProcess;
         Process = SystemProcess;
         Current = (PUCHAR) Spi;
-        CurrentSize = 0;
-        ImageNameMaximumLength = 0;
 
         do
         {
@@ -733,7 +731,10 @@
                 !(Process->ActiveThreads) &&
                 (IsListEmpty(&Process->Pcb.ThreadListHead)))
             {
-                DPRINT1("Skipping zombie\n");
+                DPRINT1("Process %p (%s:%lx) is a zombie\n",
+                        Process, Process->ImageFileName, 
Process->UniqueProcessId);
+                CurrentSize = 0;
+                ImageNameMaximumLength = 0;
                 goto Skip;
             }
 

Modified: trunk/reactos/ntoskrnl/se/semgr.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/se/semgr.c?rev=55737&r1=55736&r2=55737&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/se/semgr.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/se/semgr.c [iso-8859-1] Mon Feb 20 07:30:26 2012
@@ -705,6 +705,7 @@
                 *GrantedAccess, DesiredAccess, GenericMapping);
         //*AccessStatus = STATUS_ACCESS_DENIED;
         //return FALSE;
+        *GrantedAccess = DesiredAccess;
         *AccessStatus = STATUS_SUCCESS;
         return TRUE;
     }


Reply via email to