Fix Heap overwrite in start_debugger()

Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Sun Sep 29 08:15:56 CDT 2002


Changelog:
	win32/except.c: start_debugger
	Keep format_size to allocate buffer of right size
-- 
Uwe Bonnes                bon at elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
Index: wine/win32/except.c
===================================================================
RCS file: /home/wine/wine/win32/except.c,v
retrieving revision 1.59
diff -u -r1.59 except.c
--- wine/win32/except.c	13 Sep 2002 18:52:01 -0000	1.59
+++ wine/win32/except.c	29 Sep 2002 13:11:34 -0000
@@ -219,7 +219,7 @@
     STARTUPINFOA	startup;
     char*		cmdline = NULL;
     char*		format = NULL;
-    DWORD		format_size;
+    DWORD		format_size,format1_size;
     BOOL		ret = FALSE;
 
     static const WCHAR AeDebugW[] = {'M','a','c','h','i','n','e','\\',
@@ -277,7 +277,7 @@
 
         RtlInitUnicodeString( &nameW, AutoW );
         if (!NtQueryValueKey( hDbgConf, &nameW, KeyValuePartialInformation,
-                              buffer, sizeof(buffer)-sizeof(WCHAR), &format_size ))
+                              buffer, sizeof(buffer)-sizeof(WCHAR), &format1_size ))
        {
            info = (KEY_VALUE_PARTIAL_INFORMATION *)buffer;
            if (info->Type == REG_DWORD) memcpy( &bAuto, info->Data, sizeof(DWORD) );



More information about the wine-patches mailing list