1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-08 13:22:53 +02:00
FFmpeg/libavformat
James Almer 3e6cec1286 avformat/mov_chan: add extra checks to channel description count
Make sure it's not zero, and equal or bigger than number of channels

Fixes: Timeout / DOS
Fixes: 67143/clusterfuzz-testcase-minimized-ffmpeg_dem_CAF_fuzzer-4858720481771520

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 1c706cec46)
2024-09-17 15:42:37 -03:00
..
tests
.gitignore
3dostr.c
4xm.c
a64.c
aacdec.c
aadec.c
aaxdec.c
ac3_channel_layout_tab.c
ac3dec.c
ac4dec.c avformat/ac4dec: Check remaining space in ac4_probe() 2024-07-25 20:34:00 +02:00
ac4enc.c
acedec.c
acm.c
act.c
adp.c
ads.c
adtsenc.c
adxdec.c
aeadec.c
aeaenc.c
afc.c
aiff.c
aiff.h
aiffdec.c avformat/aiffdec: Check for previously set channels 2024-04-03 14:42:11 +02:00
aiffenc.c
aixdec.c
allformats.c
alp.c
amr.c
amvenc.c
anm.c
apac.c
apc.c
ape.c avformat/ape: Use 64bit for final frame size 2024-07-25 20:34:01 +02:00
apetag.c
apetag.h
apm.c
apngdec.c
apngenc.c
aptxdec.c
aqtitledec.c
argo_asf.c avformat/argo_asf: Use 64bit in offset intermediate 2024-07-25 20:34:01 +02:00
argo_asf.h
argo_brp.c
argo_cvg.c
asf_tags.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec_f.c avformat/asfdec_f: Use 64bit for preroll computation 2024-07-25 20:34:01 +02:00
asfdec_o.c avformat/asfdec_o: Check size of index object 2024-07-25 20:36:12 +02:00
asfenc.c
assdec.c
assenc.c
ast.c
ast.h
astdec.c
astenc.c
async.c
au.c
av1.c
av1.h
av1dec.c
avc.c
avc.h
avformat.c
avformat.h
avformatres.rc
avi.h
avidec.c
avienc.c
avio_internal.h
avio.c
avio.h
aviobuf.c
avisynth.c
avlanguage.c
avlanguage.h
avr.c
avs2dec.c
avs3dec.c
avs.c
bethsoftvid.c
bfi.c
bink.c
binka.c
bintext.c avformat/bintext: Check avio_size() return 2024-07-25 20:36:12 +02:00
bit.c
bitstream.c avformat/vvc: fix writing general_constraint_info bytes 2024-05-20 14:27:42 -03:00
bluray.c
bmv.c
boadec.c
bonk.c
brstm.c
c93.c
cache.c
caf.c
caf.h
cafdec.c
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c
chromaprint.c
cinedec.c
codec2.c
concat.c
concatdec.c avformat/concatdec: Check file 2024-05-22 22:04:36 +02:00
crcenc.c
crypto.c
dash.c
dash.h
dashdec.c
dashenc.c
data_uri.c
dauddec.c
daudenc.c
dca_sample_rate_tab.c
dcstr.c
demux_utils.c
demux.c avformat/demux: resurrect dead stores 2024-07-25 20:33:57 +02:00
demux.h
derf.c
dfa.c
dfpwmdec.c
dhav.c
diracdec.c
dnxhddec.c
dovi_isom.c
dovi_isom.h
dsfdec.c
dsicin.c
dss.c
dtsdec.c
dtshddec.c
dump.c
dv.c
dv.h
dvbsub.c
dvbtxt.c
dvdclut.c
dvdclut.h
dvdvideodec.c
dvenc.c
dxa.c
eacdata.c
electronicarts.c
epafdec.c
evc.c
evc.h
evcdec.c
ffjni.c avcodec, avformat/ffjni: fix duplicate JNI symbols 2024-04-04 21:54:22 +02:00
ffmeta.h
ffmetadec.c
ffmetaenc.c
fifo.c
file_open.c
file.c avcodec, avformat/ffjni: fix duplicate JNI symbols 2024-04-04 21:54:22 +02:00
filmstripdec.c
filmstripenc.c
fitsdec.c
fitsenc.c
flac_picture.c
flac_picture.h
flacdec.c avformat/flacdec: Reorder allocations to avoid leak on error 2024-05-25 01:46:13 +02:00
flacenc_header.c
flacenc.c
flacenc.h
flic.c
flv.h
flvdec.c
flvenc.c
format.c
framecrcenc.c
framehash.c
frmdec.c
fsb.c
ftp.c
fwse.c avformat/fwse: Remove always false expression 2024-07-25 20:34:02 +02: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
hca.c
hcom.c
hdsenc.c
hevc.c
hevc.h
hevcdec.c
hls_sample_encryption.c
hls_sample_encryption.h
hls.c
hlsenc.c avformat/hlsenc: correctly reset subtitle stream counter per-varstream 2024-08-16 20:23:19 +02:00
hlsplaylist.c
hlsplaylist.h
hlsproto.c
hnm.c avformat/hnm: Check *chunk_size 2024-07-25 20:36:13 +02:00
http.c
http.h
httpauth.c
httpauth.h
iamf_parse.c avformat/iamf_parse: Fix return of uninitialized value 2024-08-31 21:23:27 -03:00
iamf_parse.h
iamf_reader.c avformat/iamf_reader: Check len before summing 2024-04-03 14:42:10 +02:00
iamf_reader.h
iamf_writer.c avformat/iamf_writer: disallow Opus extradata with mapping family other than 0 2024-07-19 21:08:08 -03:00
iamf_writer.h
iamf.c
iamf.h avformat/iamf: rename Codec Config seek_preroll to audio_roll_distance 2024-07-18 23:38:04 -03:00
iamfdec.c avformat/iamfdec: check nb_streams in header read 2024-05-01 15:46:44 -03:00
iamfenc.c
icecast.c
icodec.c
icoenc.c
id3v1.c
id3v1.h
id3v2.c
id3v2.h
id3v2enc.c
idcin.c
idroqdec.c
idroqenc.c
iff.c
ifv.c
ilbc.c
imf_cpl.c
imf.h
imfdec.c avformat/imfdec: Simplify get_next_track_with_minimum_timestamp() 2024-07-25 20:34:08 +02:00
img2_alias_pix.c
img2_brender_pix.c
img2.c
img2.h
img2dec.c avformat/img2dec: assert no pipe on ts_from_file 2024-07-25 20:34:18 +02:00
img2enc.c
imx.c
ingenientdec.c
internal.h
ip.c
ip.h
ipfsgateway.c
ipmovie.c
ipudec.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom_tags.c
isom.c avformat/isom: make parameters used for loging a pointer to void 2024-08-31 14:57:56 -03:00
isom.h avformat/isom: make parameters used for loging a pointer to void 2024-08-31 14:57:56 -03:00
iss.c
iv8.c
ivfdec.c
ivfenc.c
jacosubdec.c avformat/jacosubdec: Use 64bit for abs 2024-03-26 23:25:36 +01:00
jacosubenc.c
jpegtables.c
jpegxl_anim_dec.c
jpegxl_parse.c
jvdec.c
kvag.c avformat/kvag: Check sample_rate 2024-05-22 22:04:32 +02:00
lafdec.c
latmenc.c
libamqp.c
libavformat.v
libgme.c
libmodplug.c
libopenmpt.c
librist.c
librtmp.c
libsmbclient.c
libsrt.c
libssh.c
libzmq.c avformat/libzmq: fix check for zmq protocol prefix 2024-09-02 23:18:19 +02:00
lmlm4.c
loasdec.c
log2_tab.c
lrc.c
lrc.h
lrcdec.c
lrcenc.c
luodatdec.c
lvfdec.c
lxfdec.c
m4vdec.c
Makefile avformat/vvc: fix writing general_constraint_info bytes 2024-05-20 14:27:42 -03:00
matroska.c
matroska.h
matroskadec.c avformat/matroskadec: Assert that num_levels is non negative 2024-07-25 20:34:09 +02:00
matroskaenc.c
mca.c
mccdec.c
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mj2kdec.c
mkvtimestamp_v2.c
mlpdec.c
mlvdec.c
mm.c avformat/mm: Check length 2024-07-25 20:36:13 +02:00
mmf.c
mms.c
mms.h
mmsh.c
mmst.c
mods.c
moflex.c
mov_chan.c avformat/mov_chan: add extra checks to channel description count 2024-09-17 15:42:37 -03:00
mov_chan.h
mov_esds.c
mov.c avformat/mov: check that child boxes of trak are only present inside it 2024-07-28 20:44:58 -03:00
movenc_ttml.c
movenc_ttml.h
movenc.c avformat/mov: fix track handling when mixing IAMF and video tracks 2024-08-04 12:21:00 -03:00
movenc.h
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c avformat/mp3dec: Check header_filesize 2024-07-25 20:36:14 +02:00
mp3enc.c
mpc8.c
mpc.c
mpeg4audio_sample_rates.c
mpeg.c avformat/mpeg: Check len in mpegps_probe() 2024-07-25 20:34:20 +02:00
mpeg.h
mpegaudiotabs.c
mpegenc.c
mpegts.c avformat/mpegts: Reset local nb_prg on add_program() failure 2024-04-03 14:42:11 +02:00
mpegts.h
mpegtsenc.c
mpegvideodec.c
mpjpeg.c
mpjpegdec.c
mpl2dec.c
mpsubdec.c
msf.c
msnwc_tcp.c
mspdec.c
mtaf.c
mtv.c
musx.c
mux_utils.c
mux.c
mux.h
mvdec.c
mvi.c
mxf.c
mxf.h
mxfdec.c avformat/mxfdec: Reorder elements of expression in bisect loop 2024-07-25 20:34:44 +02:00
mxfenc.c avformat/mxfenc: resurrects the error print 2024-07-25 20:34:20 +02:00
mxg.c
ncdec.c
network.c
network.h
nistspheredec.c
nspdec.c
nsvdec.c avformat/nsvdec: Check asize for PCM 2024-07-25 20:36:15 +02:00
nullenc.c
nut.c
nut.h
nutdec.c
nutenc.c
nuv.c
oggdec.c
oggdec.h
oggenc.c
oggparsecelt.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
options.c
os_support.c
os_support.h
osq.c
paf.c
pcm.c avformat/pcm: Use 64bit in bitrate computation 2024-04-04 21:12:16 +02:00
pcm.h
pcmdec.c
pcmenc.c
pdvdec.c
pjsdec.c
pmpdec.c
pp_bnk.c
prompeg.c
protocols.c
psxstr.c
pva.c
pvfdec.c
qcp.c
qoadec.c
qtpalette.c
qtpalette.h
r3d.c
rangecoder_dec.c
rawdec.c
rawdec.h
rawenc.c
rawenc.h
rawutils.c
rawutils.h
rawvideodec.c
rcwtenc.c
rdt.c avformat/rdt: Check pkt_len 2024-07-25 20:34:21 +02:00
rdt.h
realtextdec.c
redspark.c
replaygain.c
replaygain.h
riff.c
riff.h
riffdec.c
riffenc.c
rka.c
rl2.c
rm.c
rm.h
rmdec.c avformat/rmdec: use 64bit for audio_framesize checks 2024-07-25 20:34:30 +02:00
rmenc.c
rmsipr.c
rmsipr.h
rpl.c avformat/rpl: Use 64bit for total_audio_size and check it 2024-03-26 23:25:39 +01: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 avformat/rtmppkt: Simplify and deobfuscate amf_tag_skip() slightly 2024-07-25 20:34:31 +02:00
rtmppkt.h
rtmpproto.c avformat/rtmpproto: Use AV_DICT_MATCH_CASE instead of litteral number 2024-07-25 20:34:31 +02: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
rtpenc_mpv.c
rtpenc_rfc4175.c avformat/rtpenc_rfc4175: Use 64bit in computation if copy_offset 2024-07-25 20:34:31 +02:00
rtpenc_vc2hq.c avformat/rtpenc_vc2hq: Check sizes 2024-07-25 20:34:26 +02:00
rtpenc_vp8.c
rtpenc_vp9.c
rtpenc_xiph.c
rtpenc.c
rtpenc.h
rtpproto.c
rtpproto.h
rtsp.c avformat/rtsp: Check that lower transport is handled in one of the if() 2024-07-25 20:34:27 +02:00
rtsp.h
rtspcodes.h
rtspdec.c
rtspenc.c
s337m.c
samidec.c
sapdec.c avformat/sapdec: Check ffurl_get_file_handle() for error 2024-07-25 20:36:15 +02:00
sapenc.c
sauce.c avformat/sauce: Check avio_size() for failure 2024-07-25 20:36:15 +02:00
sauce.h
sbcdec.c
sbgdec.c avformat/sbgdec: Check for negative duration 2024-03-26 23:25:40 +01:00
sccdec.c
sccenc.c
scd.c
sctp.c
sdns.c
sdp.c avformat/sdp: Check before appending "," 2024-07-25 20:34:07 +02:00
sdr2.c
sdsdec.c
sdxdec.c
seek.c
segafilm.c
segafilmenc.c
segment.c
serdec.c
sga.c
shortendec.c
sierravmd.c
siff.c avformat/siff: Basic pkt_size check 2024-07-25 20:36:16 +02:00
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 avformat/subfile: Assert that whence is a known case 2024-07-25 20:34:27 +02:00
subtitles.c
subtitles.h
subviewer1dec.c
subviewerdec.c
supdec.c
supenc.c
svag.c
svs.c
swf.c
swf.h
swfdec.c
swfenc.c
takdec.c
tcp.c
tedcaptionsdec.c
tee_common.c
tee_common.h
tee.c
teeproto.c
thp.c
tiertexseq.c
tls_gnutls.c
tls_libtls.c
tls_mbedtls.c
tls_openssl.c
tls_schannel.c avformat/tls_schannel: Initialize ret 2024-07-25 20:34:28 +02:00
tls_securetransport.c
tls.c
tls.h
tmv.c
to_upper4.c
tta.c
ttaenc.c
ttmlenc.c
ttmlenc.h
tty.c avformat/tty: Check avio_size() 2024-07-25 20:36:16 +02:00
txd.c
ty.c avformat/ty: rec_size seems to only need 32bit 2024-07-25 20:36:16 +02:00
udp.c
uncodedframecrcenc.c
unix.c
url.c
url.h
urldecode.c
urldecode.h
usmdec.c avformat/usmdec: Initialize value 2024-07-25 20:34:28 +02:00
utils.c
vag.c
vapoursynth.c
vc1dec.c
vc1test.c
vc1testenc.c
version_major.h
version.c
version.h Bump prior release/7.0 branch 2024-03-27 01:04:53 +01:00
vividas.c
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
vvc.c avformat/vvc: fix parsing sps_subpic_id 2024-05-22 17:52:30 -03:00
vvc.h
vvcdec.c
w64.c
w64.h
wady.c
wavarc.c
wavdec.c avformat/wavdec: satuarte next_tag_ofs, data_end 2024-03-26 23:25:41 +01:00
wavenc.c
wc3movie.c
webm_chunk.c
webmdashenc.c
webpenc.c avformat/webpenc: Check filesize in trailer 2024-07-25 20:36:17 +02:00
webvttdec.c
webvttenc.c
westwood_aud.c
westwood_audenc.c
westwood_vqa.c avformat/westwood_vqa: Fix 2g packets 2024-03-26 23:25:43 +01:00
wsddec.c
wtv_common.c
wtv.h
wtvdec.c
wtvenc.c
wv.c
wv.h
wvdec.c
wvedec.c
wvenc.c
xa.c
xmd.c
xmv.c avformat/xmv: Check this_packet_size 2024-07-25 20:36:17 +02:00
xvag.c
xwma.c
yop.c
yuv4mpeg.h
yuv4mpegdec.c
yuv4mpegenc.c