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