From 849df320ada0ae48d0f6c23b79ffd5c2ca6e2a4a Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Thu, 14 Dec 2006 08:43:04 +0000 Subject: [PATCH] fixing a small check in createsurface svn path=/trunk/; revision=25154 --- reactos/dll/directx/ddraw/main/ddraw_main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/reactos/dll/directx/ddraw/main/ddraw_main.c b/reactos/dll/directx/ddraw/main/ddraw_main.c index fa9aa2526fc..7f1b2f10108 100644 --- a/reactos/dll/directx/ddraw/main/ddraw_main.c +++ b/reactos/dll/directx/ddraw/main/ddraw_main.c @@ -305,6 +305,11 @@ HRESULT WINAPI Main_DirectDraw_CreateSurface (LPDIRECTDRAW7 iface, LPDDSURFACEDE /* setup DDSD */ if (pDDSD->dwFlags & DDSD_PIXELFORMAT) { + if (pDDSD->ddpfPixelFormat.dwSize != sizeof(DDPIXELFORMAT)) + { + /* FIXME relase the memory that we have alloc */ + return DDERR_INVALIDPIXELFORMAT; + } That->lpLcl->dwFlags |= DDRAWISURF_HASPIXELFORMAT; memcpy(&That->lpLcl->lpGbl->ddpfSurface,&pDDSD->ddpfPixelFormat, sizeof(DDPIXELFORMAT)); }