On 08/04/2008, David Adam david.adam.cnrs@gmail.com wrote:
- if ( This->current == 0 )
- {
HeapFree(GetProcessHeap(), 0, This->matrix);
return D3DERR_INVALIDCALL;
- }
- This->current = This->current -1;
If This->current was 0 when calling Pop, it now points at a non-existing item. This would probably break things like LoadMatrix, GetTop, etc. Also, calling Pop again would result in a double free of This->matrix.