Author: greatlrd Date: Sun May 13 16:43:51 2007 New Revision: 26752
URL: http://svn.reactos.org/svn/reactos?rev=26752&view=rev Log: fixing two return code thx Ventron for the info for one of the return code
Modified: trunk/reactos/dll/directx/ddraw/Surface/createsurface.c
Modified: trunk/reactos/dll/directx/ddraw/Surface/createsurface.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Surface/c... ============================================================================== --- trunk/reactos/dll/directx/ddraw/Surface/createsurface.c (original) +++ trunk/reactos/dll/directx/ddraw/Surface/createsurface.c Sun May 13 16:43:51 2007 @@ -28,8 +28,30 @@ if ( (pDDSD->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY) && (pDDSD->ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY)) { - /* translate the error code I got back to a name */ - return 0x88760064; + return DDERR_INVALIDCAPS; + } + + /* check if pDDSD.dwFlags DDSD_LPSURFACE is set or not */ + if (pDDSD->dwFlags & DDSD_LPSURFACE) + { + /* + * DDSD_LPSURFACE flag is set now we start vaildate see if + * pDDSD->lpSurface are a pointer or not + */ + if (IsBadReadPtr(pDDSD->lpSurface,sizeof(LPVOID))) + { + return DDERR_INVALIDPARAMS; + } + + /* more code will follow */ + } + else + { + /* + * DDSD_LPSURFACE flag is not set we do not handler this case yet + */ + + /* more code will follow */ }
return DDERR_GENERIC;