summaryrefslogtreecommitdiffstats
path: root/doc/examples
diff options
context:
space:
mode:
authorAaron Levinson <[email protected]>2017-05-16 14:23:27 -0700
committerAnton Khirnov <[email protected]>2017-05-20 09:41:45 +0200
commit3d040513a1de4797a4f81dde4984395f51db76b7 (patch)
tree26841bc3379497edd14cca262413dc80bd24f8f8 /doc/examples
parent8652a2c24836ce5546b398f12b7fed45000050e1 (diff)
avutil/hwcontext_dxva2: Don't improperly free IDirect3DSurface9 objects
Add dxva2_pool_release_dummy() and use it in call to av_buffer_create() in dxva2_pool_alloc(). Prior to this change, av_buffer_create() was called with NULL for the third argument, which indicates that av_buffer_default_free() should be used to free the buffer's data. Eventually, it gets to buffer_pool_free() and calls buf->free() on a surface object (which is av_buffer_default_free()). This can result in a crash when the debug version of the C-runtime is used on Windows. While it doesn't appear to result in a crash when the release version of the C-runtime is used on Windows, it likely results in memory corruption, since av_free() is being called on memory that was allocated using IDirectXVideoAccelerationService::CreateSurface(). Signed-off-by: Aaron Levinson <[email protected]> Reviewed-by: wm4 <[email protected]> Reviewed-by: Steven Liu <[email protected]> Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: Anton Khirnov <[email protected]>
Diffstat (limited to 'doc/examples')
0 files changed, 0 insertions, 0 deletions