FFmpeg/libavformat
Andreas Rheinhardt 67d4940a77 avformat/id3v2: Fix double-free on error
ff_id3v2_parse_priv_dict() uses av_dict_set() with the flags
AV_DICT_DONT_STRDUP_KEY and AV_DICT_DONT_STRDUP_VAL. In this case both
key and value are freed on error (and owned by the destination
dictionary on success), so that freeing them again on error is a
double-free and therefore forbidden. But it nevertheless happened.

Fixes CID 1452489 and 1452421.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-10 16:09:14 +01:00
..
tests
.gitignore
3dostr.c
4xm.c
a64.c
aacdec.c
aadec.c
ac3dec.c
acm.c
act.c
adp.c
ads.c
adtsenc.c
adxdec.c
aea.c
afc.c
aiff.h
aiffdec.c
aiffenc.c avformat/aiffenc: Add deinit function 2019-10-25 23:27:02 +02:00
aixdec.c
allformats.c avformat: add an AV1 Annex B demuxer 2019-11-12 22:21:51 -03:00
amr.c
anm.c
apc.c
ape.c
apetag.c avformat/apetag: Avoid allocation for small tags 2019-11-28 15:20:36 -03:00
apetag.h
apngdec.c
apngenc.c avformat/apngenc: Add deinit function 2019-10-30 15:28:48 -03:00
aptxdec.c
aqtitledec.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec_f.c
asfdec_o.c lavf/asfdec: Simplify the check conditions 2019-11-04 10:24:58 +08:00
asfenc.c avformat/asfenc: Remove unnecessary header 2019-10-25 23:27:02 +02:00
assdec.c
assenc.c
ast.c
ast.h
astdec.c
astenc.c
async.c
au.c
audiointerleave.c
audiointerleave.h
av1.c avformat/av1: Avoid allocation for small headers 2019-11-28 15:20:37 -03:00
av1.h
av1dec.c avformat/av1dec: simplify annexb_probe() 2019-11-16 15:56:36 -03:00
avc.c avformat/avc: add missing return error value 2019-11-30 11:34:58 -03:00
avc.h avformat/avc: write the missing bits in the AVC Decoder Configuration Box 2019-11-28 15:20:37 -03:00
avformat.h avformat: Add max_probe_packets option 2019-11-03 11:52:32 +01:00
avformatres.rc
avi.h
avidec.c avformat/avidec: Remove superfluous header 2019-10-25 23:27:02 +02:00
avienc.c avformat/avienc: Remove superfluous header 2019-10-25 23:27:02 +02:00
avio_internal.h
avio.c avformat/avio: Use ffurl_closep 2019-11-29 19:58:35 +01:00
avio.h
aviobuf.c avformat/aviobuf: Avoid allocating buffer when using dynamic buffer 2019-11-28 15:20:36 -03:00
avisynth.c
avlanguage.c
avlanguage.h
avr.c
avs.c
bethsoftvid.c
bfi.c
bink.c
bintext.c avformat/bintext: avoid division by zero 2019-10-25 12:22:25 +02:00
bit.c
bluray.c
bmv.c
boadec.c
brstm.c
c93.c
cache.c
caf.c
caf.h
cafdec.c
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c
chromaprint.c avformat/chromaprint: Fix writing raw fingerprint 2019-10-16 10:34:51 +05:30
cinedec.c avformat/cinedec: check av_strdup() return value 2019-10-19 06:47:10 +02:00
codec2.c
concat.c
concatdec.c
crcenc.c
crypto.c
cutils.c
dash.c
dash.h
dashdec.c lavf/dashdec: drop unnecessary check before ff_format_io_close 2019-11-08 11:39:02 +08:00
dashenc.c avformat/dashenc: remove unused check of avformat_free_context 2019-12-02 00:08:07 +08:00
data_uri.c
dauddec.c
daudenc.c
davs2.c
dcstr.c
dfa.c
dhav.c
diracdec.c
dnxhddec.c
dsfdec.c
dsicin.c
dss.c avformat/dss: Remove superfluous headers 2019-10-29 16:20:33 +01:00
dtsdec.c
dtshddec.c
dump.c
dv.c avformat/dv: free all allocated structs on dv_read_header failure 2019-10-11 20:38:36 -03:00
dv.h
dvbsub.c
dvbtxt.c
dvenc.c avformat/dvenc: support muxing dvcprohd 2019-11-23 11:02:04 -08:00
dxa.c
eacdata.c
electronicarts.c
epafdec.c
ffmeta.h
ffmetadec.c
ffmetaenc.c
fifo_test.c
fifo.c
file_open.c
file.c
filmstripdec.c
filmstripenc.c
fitsdec.c
fitsenc.c
flac_picture.c avformat/flac_picture: Return directly if nothing has been allocated 2019-12-01 17:17:04 +01:00
flac_picture.h
flacdec.c avformat/flacdec: Remove useless packet 2019-11-17 23:44:17 +01:00
flacenc_header.c avformat/flacenc: Add const to ff_flac_write_header() parameter 2019-11-28 18:44:01 +01:00
flacenc.c libavformat/flacenc: reject too big picture blocks 2019-11-01 14:43:16 +01:00
flacenc.h avformat/flacenc: Add const to ff_flac_write_header() parameter 2019-11-28 18:44:01 +01:00
flic.c
flv.h
flvdec.c
flvenc.c avformat/flvenc: Check pts for mpeg4/h264 (which need the value) 2019-11-09 15:59:38 +01:00
format.c
framecrcenc.c
framehash.c
frmdec.c
fsb.c
ftp.c avformat/ftp: add AVOptions for authentication 2019-11-03 12:24:19 +01:00
g722.c
g723_1.c
g726.c
g729dec.c
gdv.c
genh.c
gif.c
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c
gxf.h
gxfenc.c
h261dec.c
h263dec.c
h264dec.c
hashenc.c
hcom.c
hdsenc.c avformat/hdsenc: removed unused check of avformat_free_context 2019-12-02 00:08:14 +08:00
hevc.c
hevc.h
hevcdec.c
hls.c avformat/hls: correct grammatical errors of m3u8_hold_counters option 2019-11-27 19:04:00 +08:00
hlsenc.c avformat/hlsenc: set strict_std_compliance from the parent AVFormatContext 2019-11-26 11:32:03 +08:00
hlsplaylist.c
hlsplaylist.h
hlsproto.c
hnm.c
http.c avformat/http: add ff_http_do_new_request2 for options 2019-10-08 14:57:44 +08:00
http.h avformat/http: add ff_http_do_new_request2 for options 2019-10-08 14:57:44 +08:00
httpauth.c
httpauth.h
icecast.c
icodec.c
icoenc.c avformat/icoenc: Add deinit function 2019-10-24 19:45:17 +02:00
id3v1.c
id3v1.h
id3v2.c avformat/id3v2: Fix double-free on error 2019-12-10 16:09:14 +01:00
id3v2.h
id3v2enc.c avformat/id3v2enc: Avoid allocation for small tags 2019-11-28 15:20:37 -03:00
idcin.c
idroqdec.c
idroqenc.c
iff.c avformat/iff: fix memleak when get st->codecpar->extradata failed in iff_read_header 2019-10-10 09:54:48 +08:00
ifv.c
ilbc.c
img2_alias_pix.c
img2_brender_pix.c
img2.c
img2.h
img2dec.c
img2enc.c
ingenientdec.c
internal.h avformat: Add max_probe_packets option 2019-11-03 11:52:32 +01:00
ip.c
ip.h
ipmovie.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom.c
isom.h avformat/mov: parse sdtp atom and set the pkt disposable flag accordingly 2019-10-12 14:36:15 +02:00
iss.c
iv8.c
ivfdec.c avformat/ivfdec: Change the length field to 32 bits 2019-10-08 21:45:00 -04:00
ivfenc.c avformat/ivfenc: Change the length fields to 32 bits 2019-10-08 21:44:41 -04:00
jacosubdec.c
jacosubenc.c
jvdec.c avformat/jvdec: fix memleak when read_header failed 2019-10-10 09:54:42 +08:00
latmenc.c avformat/latmenc: abort if no extradata is available 2019-10-15 13:04:44 -03:00
libavformat.v
libgme.c
libmodplug.c avformat/libmodplug: fix memleak when load modplug failed 2019-10-28 14:26:07 +08:00
libopenmpt.c
librtmp.c
libsmbclient.c
libsrt.c avformat/libsrt: change tlpktdrop, nakreport, messageapi options to boolean type 2019-12-06 11:27:25 +01:00
libssh.c
libzmq.c
lmlm4.c
loasdec.c
log2_tab.c
lrc.c
lrc.h
lrcdec.c
lrcenc.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile lavf/Makefile: Specify sln demuxer requirements. 2019-11-17 23:40:14 +01:00
matroska.c
matroska.h
matroskadec.c avformat/matroskadec: Fix use-after-free when demuxing ProRes 2019-12-07 12:36:21 -03:00
matroskaenc.c avformat/matroskaenc: Avoid allocation for small dynamic buffers 2019-11-28 15:20:37 -03:00
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mj2kdec.c
mkvtimestamp_v2.c
mlpdec.c
mlvdec.c avformat/mlvdec:drop unnecessary check before ff_format_io_close 2019-11-09 11:27:14 +09:00
mm.c
mmf.c
mms.c avformat/mms: add logging context to log 2019-10-08 13:47:16 +08:00
mms.h
mmsh.c
mmst.c avformat/mmst: add logging context to log 2019-10-08 13:47:12 +08:00
mov_chan.c
mov_chan.h
mov_esds.c
mov.c avformat/mov: fix typo in help text 2019-11-16 20:57:45 +01:00
movenc.c avformat/movenc: Avoid allocation for small dynamic buffers 2019-11-28 15:20:37 -03:00
movenc.h
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c avformat/mp3dec: Check for occurances of headers within frames during probing 2019-11-16 23:40:39 +01:00
mp3enc.c avformat/mp3enc: add init and deinit functions 2019-10-21 17:20:20 -03:00
mpc8.c avformat/mpc8: fix memleak when seek table too big 2019-10-28 14:26:10 +08:00
mpc.c
mpeg.c avformat/mpeg: Fix leaks of AVFormatContext and subtitle packets 2019-12-05 17:22:40 +01:00
mpeg.h
mpegenc.c avformat/mpegenc: check for stream private data during deinit 2019-10-18 23:14:40 -03:00
mpegts.c
mpegts.h avformat/mpegtsenc: allow any sensible PID for elementary and PMT PIDs 2019-12-03 11:00:10 +01:00
mpegtsenc.c avformat/mpegtsenc: add padding to m2ts streams 2019-12-03 11:00:11 +01:00
mpegvideodec.c
mpjpeg.c
mpjpegdec.c avformat/mpjpegdec: ensure seekback for latest chunk 2019-10-12 13:21:50 +02:00
mpl2dec.c
mpsubdec.c avformat/mpsubdec: Clear queue on error 2019-10-08 16:24:58 +02:00
msf.c
msnwc_tcp.c
mtaf.c
mtv.c avformat/mtv: check av_strdup() return value 2019-10-19 06:54:53 +02:00
musx.c
mux.c avformat: call AVOutputFormat->deinit() when freeing the context 2019-10-21 17:20:20 -03:00
mvdec.c avformat/mvdec: check av_strdup() return value 2019-10-19 06:56:02 +02:00
mvi.c
mxf.c
mxf.h
mxfdec.c avformat/mxfdec: Clear metadata_sets_count in mxf_read_close() 2019-12-01 17:17:04 +01:00
mxfenc.c avformat/mxfenc: simplify d-10 ul handling 2019-11-23 11:02:04 -08:00
mxg.c
ncdec.c
network.c avformat/network: add logging context to log 2019-10-08 13:47:07 +08:00
network.h
nistspheredec.c
nspdec.c
nsvdec.c
nullenc.c
nut.c
nut.h
nutdec.c
nutenc.c avformat/nutenc: Do not pass NULL to memcmp() in get_needed_flags() 2019-11-05 21:21:59 +01:00
nuv.c
oggdec.c
oggdec.h
oggenc.c avformat/oggenc: free buffered page lists while uninitializing the muxer 2019-10-21 17:20:58 -03:00
oggparsecelt.c
oggparsedaala.c
oggparsedirac.c
oggparseflac.c
oggparseogm.c
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c
oggparsevorbis.c
oggparsevp8.c
oma.c
oma.h
omadec.c
omaenc.c
options_table.h avformat: Add max_probe_packets option 2019-11-03 11:52:32 +01:00
options.c avformat/options: don't call avformat_free_context() within avformat_alloc_context() 2019-10-19 21:29:36 -03:00
os_support.c
os_support.h
paf.c
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c avformat/pjsdec: Check duration for overflow 2019-10-20 19:57:51 +02:00
pmpdec.c
prompeg.c
protocols.c
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.c
qtpalette.h
r3d.c
rawdec.c
rawdec.h
rawenc.c
rawenc.h
rawutils.c
rawvideodec.c
rdt.c
rdt.h
realtextdec.c
redspark.c
replaygain.c
replaygain.h
riff.c avcodec: add mvha video decoder 2019-11-27 23:54:20 +01:00
riff.h
riffdec.c
riffenc.c
rl2.c avformat/rl2: fix memleak when read end of file 2019-10-28 14:26:11 +08:00
rm.c
rm.h
rmdec.c avformat/rmdec: Use av_packet_move_ref() for packet ownership transfer 2019-12-04 20:17:00 +01:00
rmenc.c
rmsipr.c
rmsipr.h
rpl.c
rsd.c
rso.c
rso.h
rsodec.c
rsoenc.c
rtmp.h
rtmpcrypt.c
rtmpcrypt.h
rtmpdh.c
rtmpdh.h
rtmpdigest.c
rtmphttp.c
rtmppkt.c
rtmppkt.h
rtmpproto.c lavf/rtmpproto: Don't unref uninitialized buffers 2019-12-07 14:09:12 +08:00
rtp.c
rtp.h
rtpdec_ac3.c
rtpdec_amr.c
rtpdec_asf.c
rtpdec_dv.c
rtpdec_formats.h
rtpdec_g726.c
rtpdec_h261.c
rtpdec_h263_rfc2190.c
rtpdec_h263.c
rtpdec_h264.c
rtpdec_hevc.c
rtpdec_ilbc.c
rtpdec_jpeg.c
rtpdec_latm.c
rtpdec_mpa_robust.c
rtpdec_mpeg4.c
rtpdec_mpeg12.c
rtpdec_mpegts.c
rtpdec_qcelp.c
rtpdec_qdm2.c
rtpdec_qt.c
rtpdec_rfc4175.c
rtpdec_svq3.c
rtpdec_vc2hq.c
rtpdec_vp8.c
rtpdec_vp9.c
rtpdec_xiph.c
rtpdec.c
rtpdec.h
rtpenc_aac.c
rtpenc_amr.c
rtpenc_chain.c
rtpenc_chain.h
rtpenc_h261.c
rtpenc_h263_rfc2190.c
rtpenc_h263.c
rtpenc_h264_hevc.c
rtpenc_jpeg.c
rtpenc_latm.c
rtpenc_mpegts.c avformat/rtpenc_mpegts: removed unused check of avformat_free_context 2019-12-02 00:08:21 +08:00
rtpenc_mpv.c
rtpenc_vc2hq.c
rtpenc_vp8.c
rtpenc_vp9.c
rtpenc_xiph.c
rtpenc.c
rtpenc.h
rtpproto.c
rtpproto.h
rtsp.c
rtsp.h
rtspcodes.h
rtspdec.c
rtspenc.c
s337m.c
samidec.c
sapdec.c avformat/sapdec: check av_strdup() return value and fix memleak 2019-10-19 06:56:52 +02:00
sapenc.c
sauce.c
sauce.h
sbcdec.c
sbgdec.c
sccdec.c
sccenc.c
sctp.c
sdp.c
sdr2.c
sdsdec.c
sdxdec.c
segafilm.c
segafilmenc.c avformat/segafilmenc: remove unneeded code 2019-10-22 10:51:30 +08:00
segment.c
serdec.c
shortendec.c avformat/shortendec: Check k in probe 2019-10-16 19:17:57 +02:00
sierravmd.c
siff.c
smacker.c avformat/smacker: fix memleak when avformat_new_stream failed 2019-10-28 14:26:16 +08:00
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c avformat/smoothstreamingenc: removed unused check of avformat_free_context 2019-12-02 00:08:31 +08:00
smush.c
sol.c
sox.h
soxdec.c
soxenc.c
spdif.c
spdif.h
spdifdec.c
spdifenc.c
srtdec.c
srtenc.c
srtp.c
srtp.h
srtpproto.c
stldec.c
subfile.c
subtitles.c
subtitles.h
subviewer1dec.c
subviewerdec.c
supdec.c
supenc.c
svag.c
swf.c
swf.h
swfdec.c avformat/swfdec: fix memleak when inflateInit failed 2019-10-28 14:26:20 +08:00
swfenc.c
takdec.c
tcp.c
tedcaptionsdec.c
tee_common.c
tee_common.h
tee.c avformat/tee.c: steal bsf option before passing to fifo muxer 2019-10-25 11:55:52 +08:00
teeproto.c
thp.c
tiertexseq.c
tls_gnutls.c
tls_libtls.c
tls_mbedtls.c
tls_openssl.c
tls_schannel.c
tls_securetransport.c
tls.c
tls.h
tmv.c
tta.c
ttaenc.c avformat/ttaenc: add a deinit function 2019-10-21 17:20:20 -03:00
tty.c
txd.c
ty.c
udp.c avformat/udp: add logging context to log 2019-10-08 13:46:42 +08:00
uncodedframecrcenc.c
unix.c
url.c
url.h
urldecode.c
urldecode.h
utils.c libavformat/utils: Fix code indentation 2019-12-03 09:50:00 +01:00
v210.c
vag.c
vapoursynth.c
vc1dec.c
vc1test.c
vc1testenc.c
version.h avformat/mpegtsenc: allow any sensible PID for elementary and PMT PIDs 2019-12-03 11:00:10 +01:00
vividas.c lavf/vividas: check avformat_new_stream() return 2019-11-29 10:09:29 +08:00
vivo.c
voc_packet.c
voc.c
voc.h
vocdec.c
vocenc.c
vorbiscomment.c
vorbiscomment.h
vpcc.c
vpcc.h
vpk.c
vplayerdec.c
vqf.c
w64.c
w64.h
wavdec.c
wavenc.c
wc3movie.c avformat/wc3movie: fix memleak when read content size not equvipe input size 2019-10-28 14:26:22 +08:00
webm_chunk.c
webmdashenc.c
webpenc.c
webvttdec.c
webvttenc.c
westwood_aud.c
westwood_vqa.c
wsddec.c
wtv_common.c
wtv.h
wtvdec.c
wtvenc.c
wv.c
wv.h
wvdec.c
wvedec.c
wvenc.c
xa.c
xmv.c
xvag.c
xwma.c
yop.c
yuv4mpeg.h
yuv4mpegdec.c
yuv4mpegenc.c