D3D8_GetCreationParameters fix

Marcus Meissner marcus at jet.franken.de
Thu Jul 8 14:50:20 CDT 2004


On Fri, Jul 09, 2004 at 04:39:31AM +0900, Mike McCormack wrote:
> You probably want to use a Windows method to allocate memory here, such 
> as HeapAlloc() or CoTaskMemAlloc, as the caller is not going to use 
> free() to free the memory...

> Mike
> 
> Andrei Barbu wrote:
> >Changelog:
> >
> >Fixes a memory access fault inside of D3D8_GetCreationParameters.
> ...
> > HRESULT  WINAPI  
> > IDirect3DDevice8Impl_GetCreationParameters(LPDIRECT3DDEVICE8 iface, 
> > D3DDEVICE_CREATION_PARAMETERS *pParameters) {
> >     ICOM_THIS(IDirect3DDevice8Impl,iface);
> >     TRACE("(%p) copying to %p\n", This, pParameters);    
> >+
> >+    pParameters = (D3DDEVICE_CREATION_PARAMETERS*) malloc( sizeof( 
> >D3DDEVICE_CREATION_PARAMETERS ));
> >     memcpy(pParameters, &This->CreateParms, 
> >     sizeof(D3DDEVICE_CREATION_PARAMETERS));
> >     return D3D_OK;
> > }
 
Its also wrong, because the patch just overwrites the pParameters argument
and does not return the allocated memory.

Ciao, Marcus



More information about the wine-devel mailing list