PATCH: GlobalAddAtomA check for invalid ptr

Marcus Meissner marcus at jet.franken.de
Tue Aug 9 01:58:16 CDT 2005


Hi,

This checks the string passed to GlobalAddAtomA() for being a valid pointer.

The Ikea kitchen planner passed 0xcccccccc for some reason and works much better
after this patch.

Ciao, Marcus

Changelog:
	Check the passed string to GlobalAddAtomA.

Index: dlls/kernel/atom.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/atom.c,v
retrieving revision 1.8
diff -u -r1.8 atom.c
--- dlls/kernel/atom.c	10 May 2005 15:15:50 -0000	1.8
+++ dlls/kernel/atom.c	9 Aug 2005 06:55:47 -0000
@@ -183,6 +183,10 @@
  */
 ATOM WINAPI GlobalAddAtomA( LPCSTR str /* [in] String to add */ )
 {
+    if (HIWORD(str) && IsBadStringPtrA(str, MAX_ATOM_LEN)) {
+	SetLastError( ERROR_INVALID_PARAMETER );
+	return 0;
+    }
     return ATOM_AddAtomA( str, NULL );
 }
 
-- 



More information about the wine-patches mailing list