1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
FFmpeg/libavformat
Andreas Rheinhardt b288a7eb3d avformat/mpegenc: Fix memleaks and return values
If there is an error in mpeg_mux_init() (the write_header function of
the various MPEG-PS muxers), two things might happen:

1. Several fifos might leak. Instead of freeing them, the goto fail part
of the functions freed the private data of the AVStreams instead,
although this will be freed later in free_stream() anyway.
2. And if the function is exited via goto fail, it automatically
returned AVERROR(ENOMEM), although this is also used when the error is
not a memory allocation failure.

Both of these issues happened in ticket #8284 and have been fixed.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-10-17 18:04:37 +02:00
..
tests
.gitignore
3dostr.c
4xm.c lavf/4xm: fix memory leak in error handing path 2019-09-25 11:23:03 +08:00
a64.c
aacdec.c avformat/aacdec: resync to the next adts frame on invalid data instead of aborting 2019-07-20 21:47:55 -03:00
aadec.c
ac3dec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
acm.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
act.c
adp.c
ads.c
adtsenc.c avformat: use avpriv_mpeg4audio_get_config2() 2019-09-27 10:37:11 -03:00
adxdec.c
aea.c
afc.c
aiff.h
aiffdec.c avformat/aiffdec: fix signed integer overflow 2019-09-25 17:40:50 +02:00
aiffenc.c avformat/aiffenc: Remove wrong and redundant check 2019-10-03 19:34:23 +02:00
aixdec.c
allformats.c avformat/hashenc: add streamhash muxer 2019-09-20 23:26:34 +02:00
amr.c
anm.c
apc.c
ape.c
apetag.c
apetag.h
apngdec.c
apngenc.c
aptxdec.c
aqtitledec.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec_f.c
asfdec_o.c
asfenc.c
assdec.c
assenc.c avformat/assenc: optimize writing dialogs 2019-08-17 18:39:49 +02:00
ast.c
ast.h
astdec.c
astenc.c
async.c
au.c
audiointerleave.c avformat/mux: Use const AVPacket * in compare functions 2019-08-15 01:26:21 +02:00
audiointerleave.h avformat/mux: Use const AVPacket * in compare functions 2019-08-15 01:26:21 +02:00
av1.c avformat/av1: combine high_bitdepth and twelve_bit into a single bitdepth value 2019-08-03 12:33:14 -03:00
av1.h avformat/av1: combine high_bitdepth and twelve_bit into a single bitdepth value 2019-08-03 12:33:14 -03:00
avc.c avformat/mxfenc: support XAVC long gop 2019-05-20 11:58:12 -07:00
avc.h avformat/mxfenc: support XAVC long gop 2019-05-20 11:58:12 -07:00
avformat.h avformat: Don't suggest deprecated function 2019-07-13 14:07:59 -03:00
avformatres.rc
avi.h
avidec.c avformat/avidec: add logging context to log 2019-10-08 13:46:58 +08:00
avienc.c
avio_internal.h lavf/avio: add a ffio_realloc_buf API for AVIO buffer realloc 2019-08-15 09:27:11 +08:00
avio.c lavf/avio: Print https warning also for avio_find_protocol_name(). 2019-10-01 19:52:47 +02:00
avio.h avformat/avio: remove 4k limit from avio_printf 2019-08-17 18:39:49 +02:00
aviobuf.c avformat/avio: remove 4k limit from avio_printf 2019-08-17 18:39:49 +02:00
avisynth.c
avlanguage.c
avlanguage.h
avr.c
avs.c
bethsoftvid.c
bfi.c
bink.c
bintext.c
bit.c
bluray.c
bmv.c
boadec.c
brstm.c
c93.c
cache.c avformat/cache - delete cache file after closing handle 2019-05-25 00:21:26 +05:30
caf.c
caf.h
cafdec.c
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c avformat/cdxl: Fix integer overflow in intermediate 2019-09-16 00:53:18 +02:00
chromaprint.c avformat/chromaprint: Fix writing raw fingerprint 2019-10-16 10:34:51 +05:30
cinedec.c
codec2.c
concat.c lavf/concat: implement FFSEEK_SIZE. 2019-08-13 15:38:57 +02:00
concatdec.c
crcenc.c
crypto.c
cutils.c
dash.c
dash.h
dashdec.c avformat/dashdec: fix segfault when parsing segmentlist 2019-09-23 10:06:46 +08:00
dashenc.c avformat/dashenc: fix writing the AV1 codec string in mp4 mode 2019-08-03 12:33:15 -03:00
data_uri.c
dauddec.c
daudenc.c
davs2.c
dcstr.c
dfa.c
dhav.c avformat/dhav: fix demuxer since recent breakage 2019-09-27 14:25:18 +02:00
diracdec.c
dnxhddec.c
dsfdec.c avformat/dsfdec: set packet pts/duration/pos correctly 2019-08-28 17:01:43 +02:00
dsicin.c
dss.c
dtsdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
dtshddec.c
dump.c lavf/dump: dump the vbv_delay with N/A instead of 18446744073709551615 2019-08-28 18:18:41 +02:00
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
dxa.c
eacdata.c
electronicarts.c avformat/electronicarts: If no packet has been read at the end do not treat it as if theres a packet 2019-10-01 22:16:20 +02:00
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: Avoid allocation of AVIOContext 2019-10-07 22:27:17 +02:00
flac_picture.h
flacdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
flacenc_header.c
flacenc.c
flacenc.h
flic.c
flv.h
flvdec.c avformat/flvdec: delete unused code 2019-08-23 22:24:07 +02:00
flvenc.c lavf/flvenc: add automatic bitstream filtering 2019-06-25 10:45:47 +08:00
format.c
framecrcenc.c
framehash.c
frmdec.c
fsb.c
ftp.c
g722.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
g723_1.c
g726.c
g729dec.c avformat/g729dec: set packet duration and correctly set timebase info 2019-09-27 12:39:21 +02:00
gdv.c
genh.c
gif.c avformat/gif: abort early if nothing was written yet 2019-05-29 10:57:18 +02:00
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c
gxf.h
gxfenc.c avformat/mux: Use const AVPacket * in compare functions 2019-08-15 01:26:21 +02:00
h261dec.c
h263dec.c
h264dec.c
hashenc.c avformat/hashenc: fix incorrect use of av_mallocz_array() 2019-09-23 22:16:00 +02:00
hcom.c avformat/hcom: Tell the compiler about set but not read variables 2019-09-16 00:04:18 +02:00
hdsenc.c
hevc.c avformat/mxfenc: support XAVC long gop 2019-05-20 11:58:12 -07:00
hevc.h
hevcdec.c
hls.c avformat/hls: fix missing segment offset reset on last segment when http_multiple is enabled. 2019-10-08 14:58:47 +08:00
hlsenc.c avformat/hlsenc: replace with av_freep for all av_free 2019-10-08 14:12:56 +08:00
hlsplaylist.c lavf/hlsenc: refine the get_relative_url function to avoid extra malloc for relation path 2019-09-02 13:28:08 +08:00
hlsplaylist.h lavf/hlsenc: refine the get_relative_url function to avoid extra malloc for relation path 2019-09-02 13:28:08 +08:00
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 avformat/icodec: Free ico->images on error paths 2019-06-21 18:28:00 +02:00
icoenc.c
id3v1.c
id3v1.h
id3v2.c
id3v2.h
id3v2enc.c avformat/id3v2enc: fix bug, CTOC flags take only one byte 2019-06-13 23:12:51 +02: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 avformat/ifv: Check for EOF in read_index() 2019-07-19 01:23:23 +02:00
ilbc.c
img2_alias_pix.c
img2_brender_pix.c
img2.c avcodec/tiff: Recognize DNG/CinemaDNG images 2019-05-30 19:27:05 +02:00
img2.h
img2dec.c avformat/img2dec: Fix probe_buffer leak in ff_img_read_header() 2019-06-25 13:30:09 +02:00
img2enc.c
ingenientdec.c
internal.h avformat/utils: ensure that all packets in AVPacketList are reference counted 2019-09-25 21:54:18 -03:00
ip.c
ip.h
ipmovie.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom.c avformat: use avpriv_mpeg4audio_get_config2() 2019-09-27 10:37:11 -03:00
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 avformat/jacosubdec: Fix timeres to 1/100 units convertion overflow 2019-06-21 18:28:00 +02:00
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
libopenmpt.c
librtmp.c
libsmbclient.c
libsrt.c
libssh.c
libzmq.c avformat: Add ZeroMQ as a protocol 2019-09-02 23:08:43 +02:00
lmlm4.c
loasdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
log2_tab.c
lrc.c
lrc.h
lrcdec.c
lrcenc.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile avformat/Makefile: Fix aiffdec replaygain dependency 2019-10-14 00:48:44 +02:00
matroska.c
matroska.h
matroskadec.c avformat/matroskadec: don't rescale mastering display values 2019-10-05 22:37:41 -03:00
matroskaenc.c avformat/matroskaenc: use r_frame_rate as fallback to set a track's DefaultDuration 2019-10-06 13:44:52 -03:00
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mj2kdec.c
mkvtimestamp_v2.c
mlpdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
mlvdec.c
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: parse sdtp atom and set the pkt disposable flag accordingly 2019-10-12 14:36:15 +02:00
movenc.c aformat/movenc: add missing padding to output track extradata 2019-09-26 15:19:00 -03:00
movenc.h
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c
mp3enc.c avformat/mp3enc: Avoid SEEK_END as it is unsupported 2019-05-27 19:01:38 +02:00
mpc8.c
mpc.c avformat/mpc: deallocate frames array on errors 2019-07-31 20:35:07 +02:00
mpeg.c avformat/mpeg: Remove set-but-unused variable 2019-10-08 10:41:43 +02:00
mpeg.h
mpegenc.c avformat/mpegenc: Fix memleaks and return values 2019-10-17 18:04:37 +02:00
mpegts.c avformat/mpegts: add support for EPG extraction from mpegts 2019-09-19 21:30:54 +02:00
mpegts.h avformat/mpegts: add all well known PIDs and TIDs to mpegts.h 2019-09-19 21:30:54 +02:00
mpegtsenc.c avformat/mpegtsenc: fix flushing of audio packets 2019-09-02 21:44:25 +02: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
musx.c
mux.c avformat/mux: Use av_packet_rescale_ts 2019-08-15 01:26:21 +02:00
mvdec.c
mvi.c
mxf.c
mxf.h avformat/mxfenc: support XAVC long gop 2019-05-20 11:58:12 -07:00
mxfdec.c avformat/mxfdec: do not ignore bad size errors 2019-08-22 21:38:41 +02:00
mxfenc.c avformat/mxfenc: fix warning: unused function 'klv_ber_length' [-Wunused-function] 2019-09-04 18:55:00 +02: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 avformat/nut: add pcm_s64 support 2019-09-27 12:15:50 +02:00
nut.h
nutdec.c lavf/nutdec: add logging context to log 2019-09-30 10:06:21 +08:00
nutenc.c
nuv.c
oggdec.c
oggdec.h
oggenc.c
oggparsecelt.c
oggparsedaala.c
oggparsedirac.c
oggparseflac.c
oggparseogm.c avformat/oggparseogm: sync avctx w/ codecpar 2019-06-25 14:09:40 -03:00
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c
oggparsevorbis.c
oggparsevp8.c
oma.c
oma.h
omadec.c
omaenc.c
options_table.h
options.c
os_support.c
os_support.h
paf.c
pcm.c
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
prompeg.c
protocols.c avformat: Add ZeroMQ as a protocol 2019-09-02 23:08:43 +02:00
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.c
qtpalette.h
r3d.c
rawdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
rawdec.h avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
rawenc.c lavf/rawenc: Only accept the appropriate stream type for raw muxers. 2019-09-06 16:22:44 -03:00
rawenc.h
rawutils.c
rawvideodec.c
rdt.c
rdt.h
realtextdec.c avformat/realtextdec: free queue on error 2019-08-22 18:35:44 +02:00
redspark.c
replaygain.c
replaygain.h
riff.c lavc/g729dec: Support decoding Sipro ACELP.KELVIN. 2019-09-16 20:57:53 +02:00
riff.h avformat/avidec: add support for recognizing HEVC fourcc when demuxing 2019-08-31 17:38:25 +02:00
riffdec.c
riffenc.c
rl2.c
rm.c
rm.h
rmdec.c avformat/rmdec.c: fix brackets around arguments 2019-09-15 11:04:33 -03:00
rmenc.c
rmsipr.c
rmsipr.h
rpl.c avformat/rpl: Replace strcpy with av_strlcpy 2019-07-10 12:54:57 +02:00
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 avformat/rtmpptoto: add logging context to log 2019-10-08 13:46:53 +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 avformat/rtpdec_mpeg4: Fix integer parameters size check in SDP fmtp line 2019-08-10 00:01:02 +02:00
rtpdec_mpeg12.c
rtpdec_mpegts.c
rtpdec_qcelp.c
rtpdec_qdm2.c
rtpdec_qt.c
rtpdec_rfc4175.c Revert "avformat/rtpdec_rfc4175: Fix incorrect copy_offset calculation" 2019-08-06 10:37:41 +02:00
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: copy metadata to mpegts sub-muxer 2019-09-20 23:26:34 +02: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 libavformat/rtsp: return error if rtsp_hd_out is null instead of crash 2019-09-27 10:54:28 -07:00
rtsp.h
rtspcodes.h
rtspdec.c
rtspenc.c
s337m.c
samidec.c
sapdec.c
sapenc.c
sauce.c
sauce.h
sbcdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
sbgdec.c avformat/sbgdec: Fixes integer overflow in str_to_time() with hours 2019-06-14 21:36:39 +02:00
sccdec.c avformat/sccdec: remove not needed code 2019-09-13 19:47:03 +02:00
sccenc.c
sctp.c
sdp.c
sdr2.c
sdsdec.c avformat/sdsdec: fix undefined behaviour 2019-09-25 18:01:09 +02:00
sdxdec.c
segafilm.c
segafilmenc.c
segment.c avformat/segment: fix muxing tmcd tracks in MOV 2019-06-20 18:03:30 +05:30
serdec.c
shortendec.c avformat/shortendec: Check k in probe 2019-10-16 19:17:57 +02:00
sierravmd.c
siff.c
smacker.c
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c
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 libavformat/subfile: Fix SEEK_CUR and SEEK_END seeking 2019-08-13 16:00:23 +02:00
subtitles.c avformat/subtitles: Check nb_subs in ff_subtitles_queue_finalize() 2019-10-06 20:00:59 +02:00
subtitles.h
subviewer1dec.c
subviewerdec.c
supdec.c
supenc.c
svag.c
swf.c
swf.h
swfdec.c
swfenc.c
takdec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
tcp.c
tedcaptionsdec.c
tee_common.c
tee_common.h
tee.c
teeproto.c
thp.c
tiertexseq.c avformat/tiertexseq: Cleanup on error 2019-06-21 18:28:00 +02:00
tls_gnutls.c lavf/tls_gnutls: retry gnutls_handshake on non fatal errors 2019-06-14 21:19:41 +03:00
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
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 lavf/utils: support duration estimate method dump 2019-09-30 10:08:45 +08:00
v210.c
vag.c
vapoursynth.c
vc1dec.c
vc1test.c
vc1testenc.c
version.h avformat/hashenc: add streamhash muxer 2019-09-20 23:26:34 +02:00
vividas.c avformat/vividas: Test size and packet numbers a bit more 2019-09-24 17:53:39 +02:00
vivo.c
voc_packet.c
voc.c
voc.h
vocdec.c
vocenc.c
vorbiscomment.c
vorbiscomment.h
vpcc.c
vpcc.h
vpk.c avformat/vpk: Check offset for validity 2019-06-14 21:36:39 +02:00
vplayerdec.c
vqf.c avformat/vqf: Check header_size 2019-06-29 19:22:19 +02:00
w64.c
w64.h
wavdec.c avcodec/adpcm: add support for 5.1 ADPCM MS 2019-07-26 11:57:06 +01:00
wavenc.c
wc3movie.c
webm_chunk.c lavf/webm_chunk: Correct duration if start time > 0 2019-07-12 14:59:58 +02:00
webmdashenc.c
webpenc.c
webvttdec.c lavf/webvtt: fix ffmpeg -h demuxer=webvtt can't dump options 2019-06-14 13:18:32 +08:00
webvttenc.c
westwood_aud.c
westwood_vqa.c
wsddec.c avformat/rawdec: Make the raw packet size configurable 2019-07-17 23:18:50 +02:00
wtv_common.c
wtv.h
wtvdec.c avformat/wtvdec: Avoid (32bit signed) sectors 2019-06-14 21:36:39 +02:00
wtvenc.c
wv.c
wv.h
wvdec.c
wvedec.c
wvenc.c
xa.c
xmv.c avformat/xmv: Make bitrate 64bit 2019-07-14 22:17:43 +02:00
xvag.c
xwma.c
yop.c
yuv4mpeg.h
yuv4mpegdec.c avformat/y4m: do not try to seek if pts is less than 0 2019-09-22 19:25:55 +02:00
yuv4mpegenc.c