ffmpeg/libavutil
Andreas Rheinhardt c15dd31d2a avutil/dict: Fix memleak when using AV_DICT_APPEND
If a key already exists in an AVDictionary and the AV_DICT_APPEND flag
is set, the old entry is at first discarded from the dictionary, but
a pointer to the value is kept. Lateron enough memory to store the
appended string is allocated; should this allocation fail, the old string
is not freed and hence leaks. This commit changes this by moving
creating the combined value to an earlier point in the function,
which also ensures that the AVDictionary is unchanged in case of errors.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-09-14 19:00:44 +02:00
..
aarch64 aarch64/tx_float: fix compilation 2022-09-06 05:42:32 +02:00
arm arm: relax byte-swap assembler constraints 2022-09-03 23:54:05 +03:00
avr32
bfin
loongarch Revert "avcodec/loongarch/h264chroma, vc1dsp_lasx: Add wrapper for __lasx_xvldx" 2022-09-14 14:09:26 +02:00
mips
ppc
riscv lavu/riscv: add <intmath.h> optimisations 2022-09-13 16:50:43 -03:00
sh4
tests avutil/tests/.gitignore: Add channel_layout testtool 2022-09-05 02:00:08 +02:00
tomi
x86 x86/float_dsp: use three operand form for some instructions 2022-09-13 13:50:09 -03:00
.gitignore
Makefile
adler32.c
adler32.h
aes.c
aes.h
aes_ctr.c
aes_ctr.h
aes_internal.h
attributes.h
attributes_internal.h libavcodec: Set hidden visibility on global symbols accessed from AArch64 assembly 2022-09-02 23:13:29 +03:00
audio_fifo.c
audio_fifo.h
avassert.h
avsscanf.c
avstring.c
avstring.h
avutil.h
avutilres.rc
base64.c
base64.h
blowfish.c
blowfish.h
bprint.c
bprint.h
bswap.h lavu/riscv: byte-swap operations 2022-09-13 16:50:43 -03:00
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
csp.c
csp.h
cuda_check.h
des.c
des.h
detection_bbox.c
detection_bbox.h
dict.c avutil/dict: Fix memleak when using AV_DICT_APPEND 2022-09-14 19:00:44 +02:00
dict.h
dict_internal.h avutil/dict: Move avpriv_dict_set_timestamp() to a header of its own 2022-09-03 15:41:44 +02:00
display.c
display.h
dovi_meta.c
dovi_meta.h
downmix_info.c
downmix_info.h
dynarray.h
encryption_info.c
encryption_info.h
error.c
error.h
eval.c
eval.h
ffmath.h
fifo.c
fifo.h lavu/fifo: clarify interaction of AV_FIFO_FLAG_AUTO_GROW with av_fifo_write() 2022-09-05 08:59:36 +02:00
file.c avutil/file: Properly deprecate av_tempfile() 2022-09-03 15:42:40 +02:00
file.h avutil/file: Properly deprecate av_tempfile() 2022-09-03 15:42:40 +02:00
file_open.c avutil/internal: Move avpriv-file API to a header of its own 2022-09-03 15:41:44 +02:00
file_open.h avutil/internal: Move avpriv-file API to a header of its own 2022-09-03 15:41:44 +02:00
film_grain_params.c
film_grain_params.h
fixed_dsp.c
fixed_dsp.h
float2half.c avutil/half2float: use native _Float16 if available 2022-08-19 22:09:36 +02:00
float2half.h avutil/half2float: use native _Float16 if available 2022-08-19 22:09:36 +02:00
float_dsp.c
float_dsp.h
frame.c
frame.h
getenv_utf8.h
half2float.c avutil/half2float: use native _Float16 if available 2022-08-19 22:09:36 +02:00
half2float.h avutil/half2float: use native _Float16 if available 2022-08-19 22:09:36 +02:00
hash.c
hash.h
hdr_dynamic_metadata.c
hdr_dynamic_metadata.h
hdr_dynamic_vivid_metadata.c
hdr_dynamic_vivid_metadata.h
hmac.c
hmac.h
hwcontext.c
hwcontext.h
hwcontext_cuda.c
hwcontext_cuda.h
hwcontext_cuda_internal.h
hwcontext_d3d11va.c
hwcontext_d3d11va.h
hwcontext_drm.c
hwcontext_drm.h
hwcontext_dxva2.c
hwcontext_dxva2.h
hwcontext_internal.h
hwcontext_mediacodec.c
hwcontext_mediacodec.h
hwcontext_opencl.c
hwcontext_opencl.h
hwcontext_qsv.c lavu/hwcontext_qsv: add support for AV_PIX_FMT_VUYX on Linux 2022-09-07 14:04:12 +08:00
hwcontext_qsv.h
hwcontext_stub.c
hwcontext_vaapi.c lavc/vaapi: Add support for remaining 10/12bit profiles 2022-09-03 16:19:40 -07:00
hwcontext_vaapi.h
hwcontext_vdpau.c
hwcontext_vdpau.h
hwcontext_videotoolbox.c
hwcontext_videotoolbox.h
hwcontext_vulkan.c lavu/hwcontext_vulkan: support mapping VUYX, P012, and XV36 2022-09-03 16:19:40 -07:00
hwcontext_vulkan.h
imgutils.c
imgutils.h
imgutils_internal.h
integer.c
integer.h
internal.h avcodec/codec_internal: Add macros for update_thread_context(_for_user) 2022-09-03 15:42:57 +02:00
intfloat.h
intmath.c
intmath.h lavu/riscv: add <intmath.h> optimisations 2022-09-13 16:50:43 -03:00
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
macos_kperf.c
macos_kperf.h
macros.h
mastering_display_metadata.c
mastering_display_metadata.h
mathematics.c
mathematics.h
md5.c
md5.h
mem.c
mem.h
mem_internal.h avutil/mem_internal: Fix headers 2022-08-24 03:43:52 +02:00
motion_vector.h
murmur3.c
murmur3.h
objc.h
opt.c
opt.h
parseutils.c
parseutils.h
pca.c
pca.h
pixdesc.c lavu/pixfmt: Add P012, Y212, XV30, and XV36 formats 2022-09-03 16:19:40 -07:00
pixdesc.h
pixelutils.c
pixelutils.h
pixfmt.h lavu/pixfmt: Add P012, Y212, XV30, and XV36 formats 2022-09-03 16:19:40 -07:00
qsort.h
random_seed.c avutil/internal: Move avpriv-file API to a header of its own 2022-09-03 15:41:44 +02:00
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
sha.h
sha512.c
sha512.h
slicethread.c slicethread: Limit the automatic number of threads to 16 2022-09-06 18:46:44 +03:00
slicethread.h
softfloat.h
softfloat_ieee754.h
softfloat_tables.h
spherical.c
spherical.h
stereo3d.c
stereo3d.h
tablegen.h
tea.c
tea.h
thread.h
threadmessage.c
threadmessage.h
time.c
time.h
time_internal.h
timecode.c
timecode.h
timer.h lavu/riscv: AV_READ_TIME cycle counter 2022-09-13 16:50:43 -03:00
timestamp.h
tree.c
tree.h
twofish.c
twofish.h
tx.c lavu/tx: propagate the codelet flags into the context 2022-09-10 02:37:11 +02:00
tx.h
tx_double.c
tx_float.c
tx_int32.c
tx_priv.h x86/tx_float: implement inverse MDCT AVX2 assembly 2022-09-06 04:21:46 +02:00
tx_template.c lavu/tx: remove av_cold from table definitions 2022-09-11 03:18:40 +02:00
utils.c
uuid.c avutil/uuid: add utility library for manipulating UUIDs as specified in RFC 4122 2022-06-12 18:34:28 +10:00
uuid.h
version.c
version.h lavu/hwcontext_vulkan: support mapping VUYX, P012, and XV36 2022-09-03 16:19:40 -07:00
version_major.h
video_enc_params.c
video_enc_params.h
vulkan.c
vulkan.h
vulkan_functions.h
vulkan_glslang.c
vulkan_loader.h
vulkan_shaderc.c
wchar_filename.h
xga_font_data.c
xga_font_data.h
xtea.c
xtea.h