[ros-diffs] [tkreuzer] 41418: - Fix definition of RTL_HANDLE_TABLE_ENTRY - Fix check in RtlFreeHandle and add a DPRINT - Fixes the last ntdll:rtl winetest

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Mon Jun 15 16:49:32 CEST 2009


Author: tkreuzer
Date: Mon Jun 15 18:49:31 2009
New Revision: 41418

URL: http://svn.reactos.org/svn/reactos?rev=41418&view=rev
Log:
- Fix definition of RTL_HANDLE_TABLE_ENTRY
- Fix check in RtlFreeHandle and add a DPRINT
- Fixes the last ntdll:rtl winetest

Modified:
    trunk/reactos/include/ndk/rtltypes.h
    trunk/reactos/lib/rtl/handle.c

Modified: trunk/reactos/include/ndk/rtltypes.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/rtltypes.h?rev=41418&r1=41417&r2=41418&view=diff
==============================================================================
--- trunk/reactos/include/ndk/rtltypes.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/rtltypes.h [iso-8859-1] Mon Jun 15 18:49:31 2009
@@ -958,8 +958,11 @@
 //
 typedef struct _RTL_HANDLE_TABLE_ENTRY
 {
-    ULONG Flags;
-    struct _RTL_HANDLE_TABLE_ENTRY *NextFree;
+    union
+    {
+        ULONG Flags;
+        struct _RTL_HANDLE_TABLE_ENTRY *NextFree;
+    };
 } RTL_HANDLE_TABLE_ENTRY, *PRTL_HANDLE_TABLE_ENTRY;
 
 typedef struct _RTL_HANDLE_TABLE

Modified: trunk/reactos/lib/rtl/handle.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/handle.c?rev=41418&r1=41417&r2=41418&view=diff
==============================================================================
--- trunk/reactos/lib/rtl/handle.c [iso-8859-1] (original)
+++ trunk/reactos/lib/rtl/handle.c [iso-8859-1] Mon Jun 15 18:49:31 2009
@@ -127,8 +127,12 @@
 {
 #ifdef DBG
    /* check if handle is valid */
-   if (RtlIsValidHandle(HandleTable, Handle))
+   if (!RtlIsValidHandle(HandleTable, Handle))
+   {
+     DPRINT1("Invalid Handle! HandleTable=0x%p, Handle=0x%p, Handle->Flags=0x%x\n",
+             HandleTable, Handle, Handle ? Handle->Flags : 0);
      return FALSE;
+   }
 #endif
 
    /* clear handle */



More information about the Ros-diffs mailing list