[ros-diffs] [mjmartin] 47075: [win32k] - Only call ExFreePool.. if Buffer is not NULL, which can occur if the Unicode String MessageNameUnsafe coming from user mode is incorrect. Fixes a bugcheck when using OllyDbg V2.0.

mjmartin at svn.reactos.org mjmartin at svn.reactos.org
Sat May 1 15:32:40 CEST 2010


Author: mjmartin
Date: Sat May  1 15:32:38 2010
New Revision: 47075

URL: http://svn.reactos.org/svn/reactos?rev=47075&view=rev
Log:
[win32k]
- Only call ExFreePool.. if Buffer is not NULL, which can occur if the Unicode String MessageNameUnsafe coming from user mode is incorrect. Fixes a bugcheck when using OllyDbg V2.0.

Modified:
    trunk/reactos/subsystems/win32/win32k/ntuser/window.c

Modified: trunk/reactos/subsystems/win32/win32k/ntuser/window.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ntuser/window.c?rev=47075&r1=47074&r2=47075&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/ntuser/window.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/ntuser/window.c [iso-8859-1] Sat May  1 15:32:38 2010
@@ -4268,8 +4268,8 @@
    }
 
    Ret = (UINT)IntAddAtom(SafeMessageName.Buffer);
-
-   ExFreePoolWithTag(SafeMessageName.Buffer, TAG_STRING);
+   if (SafeMessageName.Buffer)
+      ExFreePoolWithTag(SafeMessageName.Buffer, TAG_STRING);
    RETURN( Ret);
 
 CLEANUP:




More information about the Ros-diffs mailing list