PATCH: fix 3 buffer overflows

Marcus Meissner marcus at jet.franken.de
Sun Apr 24 13:55:56 CDT 2005


Hi,

Ciao, Marcus

Changelog:
	Fixed 3 memset()s which used the wrong size (too large).

Index: dlls/dinput/device.c
===================================================================
RCS file: /home/wine/wine/dlls/dinput/device.c,v
retrieving revision 1.25
diff -u -r1.25 device.c
--- dlls/dinput/device.c	24 Mar 2005 21:01:39 -0000	1.25
+++ dlls/dinput/device.c	24 Apr 2005 18:50:01 -0000
@@ -409,7 +409,7 @@
 
     data = (device_enumobjects_AtoWcb_data*) lpvRef;
     
-    memset(&ddtmp, 0, sizeof(DIDEVICEINSTANCEW)); 
+    memset(&ddtmp, 0, sizeof(ddtmp));
     
     ddtmp.dwSize = sizeof(DIDEVICEINSTANCEW);
     ddtmp.guidType     = lpddi->guidType;
Index: dlls/ddraw/ddraw/hal.c
===================================================================
RCS file: /home/wine/wine/dlls/ddraw/ddraw/hal.c,v
retrieving revision 1.16
diff -u -r1.16 hal.c
--- dlls/ddraw/ddraw/hal.c	6 Dec 2004 16:21:27 -0000	1.16
+++ dlls/ddraw/ddraw/hal.c	24 Apr 2005 18:50:02 -0000
@@ -114,7 +114,7 @@
     if (lpDDHalInfo->lpD3DHALCallbacks)
 	memcpy(&d3d_hal_cbs1, (LPVOID)lpDDHalInfo->lpD3DHALCallbacks, sizeof(D3DHAL_CALLBACKS));
     else
-	memset(&d3d_hal_cbs1, 0, sizeof(D3DDEVICEDESC_V1));
+	memset(&d3d_hal_cbs1, 0, sizeof(D3DHAL_CALLBACKS));
     dd_gbl.lpD3DHALCallbacks	 = (ULONG_PTR)&d3d_hal_cbs1;
 
     if (lpDDHalInfo->dwFlags & DDHALINFO_GETDRIVERINFOSET) {
Index: dlls/msacm/tests/msacm.c
===================================================================
RCS file: /home/wine/wine/dlls/msacm/tests/msacm.c,v
retrieving revision 1.4
diff -u -r1.4 msacm.c
--- dlls/msacm/tests/msacm.c	11 Aug 2004 19:35:34 -0000	1.4
+++ dlls/msacm/tests/msacm.c	24 Apr 2005 18:50:02 -0000
@@ -265,7 +265,7 @@
                 rc, MMSYSERR_INVALPARAM);
 
             /* try bad structure size */
-            ZeroMemory(&aftd, sizeof(fd));
+            ZeroMemory(&aftd, sizeof(aftd));
             rc = acmFormatTagEnum(had, &aftd, FormatTagEnumProc, 0, 0);
             ok(rc == MMSYSERR_INVALPARAM,
                "acmFormatTagEnum(): rc = %08x, should be %08x\n",
-- 



More information about the wine-patches mailing list