1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-21 10:55:51 +02:00
FFmpeg/libavutil
Aaron Levinson 3d040513a1 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 <alevinsn@aracnet.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-05-20 09:41:45 +02:00
..
aarch64 aarch64: Add parentheses around the offset parameter in movrel 2017-02-16 09:56:11 +02:00
arm arm: Check for the .arch directive in configure 2017-05-08 14:21:08 +03:00
avr32 cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
bfin
mips mips: intreadwrite: Only execute that code for mips r1 or r2 2015-09-29 11:10:37 +02:00
ppc ppc: Merge types_altivec.h into util_altivec.h 2016-12-14 14:08:43 +01:00
sh4
tests des-test: Pass the proper types to av_des_*() functions 2017-01-24 13:25:53 +01:00
tomi
x86 x86util: Port all macros to cpuflags 2017-03-14 17:23:32 +01:00
.gitignore Split global .gitignore file into per-directory files 2016-05-13 14:55:56 +02:00
adler32.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
adler32.h
aes.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
aes.h lavu: Drop deprecated context size variables 2015-08-28 16:04:27 +02:00
attributes.h libavutil: Hook up the rest of the gcc specific attributes to clang as well 2017-03-22 14:25:45 +02:00
audio_fifo.c audio_fifo: Drop write-only variable 2016-10-27 12:21:46 +02:00
audio_fifo.h
avassert.h cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
avstring.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
avstring.h avutil/avstring: Inline some tiny functions 2015-10-03 13:45:37 +02:00
avutil.h lavu: Add a video section to Doxygen documentation 2016-12-07 14:26:21 -05:00
base64.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
base64.h
blowfish.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
blowfish.h blowfish: add av_blowfish_alloc() 2015-07-31 09:04:09 +02:00
bswap.h
buffer_internal.h buffer: convert to stdatomic 2016-10-02 18:58:04 +02:00
buffer.c buffer: convert to stdatomic 2016-10-02 18:58:04 +02:00
buffer.h buffer: fix av_buffer_pool_init2() documentation 2016-08-11 10:29:23 +02:00
channel_layout.c channel_layout: Add a 16channel default layout 2015-08-23 21:44:38 +02:00
channel_layout.h channel_layout: Add a 16channel default layout 2015-08-23 21:44:38 +02:00
colorspace.h colorspace: Add support for BT709 2016-05-10 11:30:25 +02:00
common.h libavutil: add av_mod_uintp2 2017-03-01 11:23:19 -05:00
cpu_internal.h x86: Add helper macros to check for slow cpuflags 2015-05-31 12:07:11 +02:00
cpu.c cpu: add a function for querying maximum required data alignment 2017-02-11 11:37:45 +01:00
cpu.h cpu: add a function for querying maximum required data alignment 2017-02-11 11:37:45 +01:00
crc.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
crc.h
des.c tests: Move all test programs to a subdirectory 2016-05-13 14:55:56 +02:00
des.h des: Add missing include 2015-08-31 17:06:32 +02:00
dict.c dict: Change return type of av_dict_copy() 2015-10-12 13:35:01 +02:00
dict.h cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
display.c mov: Write the display matrix in order 2015-03-23 20:53:28 +00:00
display.h lavu: Add a video section to Doxygen documentation 2016-12-07 14:26:21 -05:00
downmix_info.c
downmix_info.h
error.c
error.h
eval.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
eval.h
fifo.c fifo: Return the correct AVERROR value 2017-01-26 10:25:20 +01:00
fifo.h
file_open.c Share the utf8 to wchar conversion routine between lavf and lavu 2014-11-27 09:29:17 +02:00
file.c Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
file.h
float_dsp.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
float_dsp.h
frame.c AVFrame: add an opaque_ref field 2017-02-11 11:37:45 +01:00
frame.h AVFrame: add an opaque_ref field 2017-02-11 11:37:45 +01:00
hmac.c hmac: Explicitly convert types at function pointer assignment 2017-01-09 15:18:16 +01:00
hmac.h hmac: add support for SHA-2 2015-07-29 22:09:16 +03:00
hwcontext_cuda.c hwcontext_cuda: implement frames_get_constraints 2017-02-01 10:43:00 +01:00
hwcontext_cuda.h hwcontext: add a CUDA implementation 2016-02-14 22:08:33 +01:00
hwcontext_dxva2.c avutil/hwcontext_dxva2: Don't improperly free IDirect3DSurface9 objects 2017-05-20 09:41:45 +02:00
hwcontext_dxva2.h hwcontext: add a dxva2 implementation 2016-05-17 09:11:25 +02:00
hwcontext_internal.h hwcontext: Improve allocation in derived contexts 2017-04-30 17:33:18 +01:00
hwcontext_qsv.c hwcontext_qsv: Implement mapping frames to the child device type 2017-04-30 17:33:18 +01:00
hwcontext_qsv.h hwcontext: add a QSV implementation 2016-06-21 19:53:37 +02:00
hwcontext_vaapi.c hwcontext_vaapi: Try to support the VDPAU wrapper 2017-02-13 21:44:47 +00:00
hwcontext_vaapi.h hwcontext_vaapi: Try to support the VDPAU wrapper 2017-02-13 21:44:47 +00:00
hwcontext_vdpau.c hwcontext_vdpau: Fix missing subscripts 2016-09-14 20:48:36 +01:00
hwcontext_vdpau.h hwcontext: add a VDPAU implementation 2016-02-14 22:06:04 +01:00
hwcontext.c hwcontext: Improve allocation in derived contexts 2017-04-30 17:33:18 +01:00
hwcontext.h hwcontext: Improve allocation in derived contexts 2017-04-30 17:33:18 +01:00
imgutils_internal.h imgutils: add a function for copying image data from GPU mapped memory 2016-08-31 08:15:47 +02:00
imgutils.c imgutils: add a function for copying image data from GPU mapped memory 2016-08-31 08:15:47 +02:00
imgutils.h imgutils: Document av_image_get_buffer_size() 2017-02-10 16:25:58 -05:00
internal.h libavutil: Make LOCAL_ALIGNED(xx be equal to LOCAL_ALIGNED_xx( 2017-03-31 22:06:52 +03:00
intfloat.h
intmath.c
intmath.h intmath: add faster clz support 2017-03-01 11:23:19 -05:00
intreadwrite.h Revert "libavutil: Use an intermediate variable in AV_COPY*U" 2016-08-02 21:18:18 +03:00
lfg.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
lfg.h
libavutil.v build: Change structure of the linker version script templates 2016-05-29 16:43:11 +02:00
libm.h
lls.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
lls.h libavutil: move FFALIGN macro from common.h to macros.h 2015-12-14 16:16:55 +01:00
log2_tab.c
log.c log: Print a full backtrace along with error messages under Valgrind 2015-04-20 19:20:57 +01:00
log.h lavu: Drop deprecated av_dlog macro 2017-03-23 10:09:17 +01:00
lzo.c
lzo.h
macros.h libavutil: move FFALIGN macro from common.h to macros.h 2015-12-14 16:16:55 +01:00
Makefile build: Generate pkg-config files from Make and not from configure 2016-12-22 12:30:54 +01:00
mathematics.c mathematics: Kill non-compiling disabled cruft 2016-08-17 12:16:42 +02:00
mathematics.h
md5.c crypto: consistently use size_t as type for length parameters 2017-01-09 15:17:43 +01:00
md5.h crypto: consistently use size_t as type for length parameters 2017-01-09 15:17:43 +01:00
mem.c mem: uninline av_malloc(z)_array() 2017-04-26 09:05:28 +02:00
mem.h mem: uninline av_malloc(z)_array() 2017-04-26 09:05:28 +02:00
opt.c Drop unreachable break and return statements 2016-11-03 20:17:12 +01:00
opt.h lavu: Drop deprecated option type 2017-03-23 10:09:17 +01:00
parseutils.c Mark some arrays that never change as const. 2017-02-01 10:42:59 +01:00
parseutils.h parseutils: Make av_small_strptime public 2015-04-07 12:36:11 +02:00
pixdesc.c pixfmt: Add gbrap10 pixel format 2017-04-13 14:09:07 +02:00
pixdesc.h pixdesc: Use AV_CEIL_RSHIFT in documentation 2016-01-25 12:02:20 -05:00
pixfmt.h pixfmt: Add gbrap10 pixel format 2017-04-13 14:09:07 +02:00
random_seed.c cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
random_seed.h
rational.c
rational.h
rc4.c rc4: add av_rc4_alloc() 2015-07-31 09:04:12 +02:00
rc4.h rc4: extend av_rc4_init() doxy 2015-07-31 09:04:12 +02:00
replaygain.h cosmetics: Drop empty comment lines 2016-02-18 15:35:30 +01:00
samplefmt.c
samplefmt.h cosmetics: Drop empty comment lines 2016-02-18 15:35:30 +01:00
sha.c crypto: consistently use size_t as type for length parameters 2017-01-09 15:17:43 +01:00
sha.h crypto: consistently use size_t as type for length parameters 2017-01-09 15:17:43 +01:00
spherical.c spherical: add functions to retrieve and request projection names 2017-04-27 09:59:54 -04:00
spherical.h spherical: add functions to retrieve and request projection names 2017-04-27 09:59:54 -04:00
stereo3d.c Mark some arrays that never change as const. 2017-02-01 10:42:59 +01:00
stereo3d.h lavu: Add a video section to Doxygen documentation 2016-12-07 14:26:21 -05:00
thread.h thread: Define ff_mutex_* macros as stub functions when threads are disabled 2017-04-12 10:07:09 +02:00
time_internal.h lavu: Provide fallbacks for gmtime_r and localtime_r 2014-10-26 00:14:54 +03:00
time.c lavu: Add av_gettime_relative 2014-10-24 09:53:41 +03:00
time.h lavu: Add av_gettime_relative 2014-10-24 09:53:41 +03:00
timer.h arm64: add cycle counter support 2015-12-14 16:42:35 +01:00
tree.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
tree.h lavu: Drop deprecated context size variables 2015-08-28 16:04:27 +02:00
utils.c lavu: add an API function to return the Libav version string 2015-07-02 23:22:53 +02:00
version.h hwcontext: Improve allocation in derived contexts 2017-04-30 17:33:18 +01:00
wchar_filename.h Share the utf8 to wchar conversion routine between lavf and lavu 2014-11-27 09:29:17 +02:00
xtea.c build: Split test programs off into separate files 2016-04-07 16:14:42 +02:00
xtea.h xtea: Add functions for little endian mode 2015-11-13 21:53:54 +02:00