ffmpeg/libavutil
Aaron Levinson 0c1c514643 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>
2017-05-16 21:45:52 +01:00
..
aarch64
arm
avr32
bfin
mips
ppc Merge commit '05a603a94e4b3eeefa5e18ae653a848001461e89' 2017-04-26 16:27:24 +02:00
sh4
tests avutil/avstring: improve av_strreplace implement 2017-04-11 10:54:35 +08:00
tomi
x86 x86/float_dsp: remove usage of integer instructions 2017-05-12 23:34:49 -03:00
.gitignore
Makefile videotoolbox: add hwcontext support 2017-05-15 11:30:36 +02:00
adler32.c
adler32.h
aes.c
aes.h
aes_ctr.c
aes_ctr.h
aes_internal.h
atomic.c
atomic.h
atomic_gcc.h
atomic_suncc.h
atomic_win32.h
attributes.h
audio_fifo.c
audio_fifo.h
avassert.h
avstring.c avutil/avstring: improve av_strreplace implement 2017-04-11 10:54:35 +08:00
avstring.h avutil/avstring: improve av_strreplace implement 2017-04-11 10:54:35 +08:00
avutil.h
avutilres.rc
base64.c
base64.h
blowfish.c
blowfish.h
bprint.c
bprint.h
bswap.h
buffer.c
buffer.h
buffer_internal.h
camellia.c
camellia.h
cast5.c
cast5.h
channel_layout.c
channel_layout.h
color_utils.c
color_utils.h
colorspace.h
common.h
cpu.c
cpu.h
cpu_internal.h
crc.c
crc.h
des.c
des.h
dict.c
dict.h
display.c
display.h Merge commit '075acbb6ff5740b2eea1bb7dd3afbc8e66e2ebf8' 2017-04-13 17:31:15 -03:00
downmix_info.c
downmix_info.h
dynarray.h
error.c
error.h
eval.c
eval.h
ffmath.h
fifo.c
fifo.h
file.c
file.h
file_open.c
fixed_dsp.c
fixed_dsp.h
float_dsp.c avutil/float_dsp: add vector_dmac_scalar() 2017-04-10 12:04:14 +02:00
float_dsp.h avutil/float_dsp: add vector_dmac_scalar() 2017-04-10 12:04:14 +02:00
frame.c Merge commit '52627248e49e58eb4b78e4fcda90a64f4c476ea3' 2017-05-08 13:08:02 -03:00
frame.h Merge commit '52627248e49e58eb4b78e4fcda90a64f4c476ea3' 2017-05-08 13:08:02 -03:00
hash.c
hash.h
hmac.c Merge commit '00b6a765430e5c5cacf0bd1be8b318d631cd4e14' 2017-05-05 13:27:03 +02:00
hmac.h
hwcontext.c videotoolbox: add hwcontext support 2017-05-15 11:30:36 +02:00
hwcontext.h videotoolbox: add hwcontext support 2017-05-15 11:30:36 +02:00
hwcontext_cuda.c
hwcontext_cuda.h
hwcontext_cuda_internal.h
hwcontext_dxva2.c avutil/hwcontext_dxva2: Don't improperly free IDirect3DSurface9 objects 2017-05-16 21:45:52 +01:00
hwcontext_dxva2.h
hwcontext_internal.h videotoolbox: add hwcontext support 2017-05-15 11:30:36 +02:00
hwcontext_qsv.c
hwcontext_qsv.h
hwcontext_vaapi.c
hwcontext_vaapi.h
hwcontext_vdpau.c
hwcontext_vdpau.h
hwcontext_videotoolbox.c videotoolbox: add hwcontext support 2017-05-15 11:30:36 +02:00
hwcontext_videotoolbox.h hwcontext_videotoolbox: fix fate-source 2017-05-15 18:50:04 +02:00
imgutils.c
imgutils.h
imgutils_internal.h
integer.c
integer.h
internal.h avutil/internal: Do not enable CHECKED with DEBUG 2017-04-11 01:05:05 +02:00
intfloat.h
intmath.c
intmath.h
intreadwrite.h
lfg.c
lfg.h
libavutil.v
libm.h
lls.c
lls.h
log.c
log.h
log2_tab.c
lzo.c
lzo.h
macros.h
mastering_display_metadata.c
mastering_display_metadata.h
mathematics.c
mathematics.h
md5.c Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551' 2017-05-05 13:04:38 +02:00
md5.h Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551' 2017-05-05 13:04:38 +02:00
mem.c
mem.h
mem_internal.h
motion_vector.h
murmur3.c
murmur3.h
opencl.c
opencl.h
opencl_internal.c
opencl_internal.h
opt.c
opt.h
parseutils.c
parseutils.h
pca.c
pca.h
pixdesc.c
pixdesc.h
pixelutils.c
pixelutils.h
pixfmt.h
qsort.h
random_seed.c
random_seed.h
rational.c
rational.h
rc4.c
rc4.h
replaygain.h
reverse.c
reverse.h
ripemd.c
ripemd.h
samplefmt.c
samplefmt.h
sha.c Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551' 2017-05-05 13:04:38 +02:00
sha.h Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551' 2017-05-05 13:04:38 +02:00
sha512.c lavu/sha512: update length argument following sha+md5 changes 2017-05-05 13:24:35 +02:00
sha512.h lavu/sha512: update length argument following sha+md5 changes 2017-05-05 13:24:35 +02:00
softfloat.h avutil/softfloat: Fix overflow in av_div_sf() 2017-05-06 23:23:39 +02:00
softfloat_ieee754.h
softfloat_tables.h
spherical.c
spherical.h
stereo3d.c
stereo3d.h Merge commit '075acbb6ff5740b2eea1bb7dd3afbc8e66e2ebf8' 2017-04-13 17:31:15 -03:00
tablegen.h
tea.c
tea.h
thread.h libavutil/thread.h: Fixed g++ build error when ASSERT_LEVEL is greater than 1 2017-04-22 23:32:41 +02:00
threadmessage.c
threadmessage.h
time.c
time.h
time_internal.h
timecode.c
timecode.h lavu/timecode: Increase AV_TIMECODE_STR_SIZE. 2017-05-05 10:09:12 +02:00
timer.h
timestamp.h
tree.c
tree.h
twofish.c
twofish.h
utils.c
version.h videotoolbox: add hwcontext support 2017-05-15 11:30:36 +02:00
wchar_filename.h
xga_font_data.c
xga_font_data.h
xtea.c
xtea.h