From 79583495ee347eb7e61a30fac83baf2a7a66acd0 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Thu, 7 Jun 2007 12:39:42 +0000 Subject: [PATCH] fixing another crash for -O3 svn path=/trunk/; revision=27045 --- reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c b/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c index ad780a49064..ed2c694fb06 100644 --- a/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c +++ b/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c @@ -29,7 +29,11 @@ Main_DirectDraw_EnumDisplayModes(LPDIRECTDRAW7 iface, DWORD dwFlags, { DX_STUB_str("here\n"); - if(!pCallback) + if + ((!IsBadReadPtr(pCallback,sizeof(LPDDENUMMODESCALLBACK2))) || + (!IsBadWritePtr(pCallback,sizeof(LPDDENUMMODESCALLBACK2))) || + (!IsBadReadPtr(pDDSD,sizeof(DDSURFACEDESC2))) || + (!IsBadWritePtr(pDDSD,sizeof(DDSURFACEDESC2)))) { ret = DDERR_INVALIDPARAMS; } @@ -67,6 +71,8 @@ Main_DirectDraw_EnumDisplayModes(LPDIRECTDRAW7 iface, DWORD dwFlags, */ SurfaceDesc.ddpfPixelFormat.dwRGBBitCount = DevMode.dmBitsPerPel; + DX_STUB_str("here\n"); + // FIXME1: This->lpLcl->lpGbl->dwMonitorFrequency is not set ! if(dwFlags & DDEDM_REFRESHRATES && SurfaceDesc.dwRefreshRate != This->lpLcl->lpGbl->dwMonitorFrequency) {