FFmpeg/libavformat
Michael Niedermayer d5a411f34f
avformat/wavdec: Check if there are 16 bytes before testing them
Fixes: use-of-uninitialized-value
Fixes: 70839/clusterfuzz-testcase-minimized-ffmpeg_dem_W64_fuzzer-5212907590189056

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 79a1cf30d1)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2024-08-05 23:19:20 +02:00
..
tests avformat/url: add ff_make_absolulte_url2 to be able to test windows path cases 2021-04-08 17:49:26 +02:00
.gitignore
3dostr.c avformat/3dostr: Check sample_rate 2021-02-20 14:21:24 +01:00
4xm.c avformat/4xm: Check for duplicate track ids 2022-04-06 20:38:05 +02:00
a64.c
aacdec.c
aadec.c avformat/aadec: Check for EOF while reading chapters 2021-10-06 14:41:40 +02:00
ac3dec.c
acm.c
act.c avformat/act: Check ff_get_wav_header() for failure 2022-09-26 16:50:42 +02:00
adp.c
ads.c avformat/ads: Check size 2021-02-02 14:18:21 +01:00
adtsenc.c avformat/adtsenc: return value check for init_get_bits in adts_decode_extradata 2021-10-06 14:41:41 +02:00
adxdec.c
aea.c
afc.c
aiff.h
aiffdec.c avformat/aiffdec: Use 64bit for block_duration use 2022-09-26 16:50:59 +02:00
aiffenc.c
aixdec.c
allformats.c
alp.c
amr.c
anm.c
apc.c
ape.c avformat/ape: Use 64bit for final frame size 2024-06-14 11:11:49 +02:00
apetag.c
apetag.h
apm.c
apngdec.c avformat/apngdec: Fix size/overflow checks 2021-02-27 07:20:59 +01:00
apngenc.c
aptxdec.c
aqtitledec.c avformat/aqtitledec: Skip unrepresentable durations 2022-04-06 20:38:06 +02:00
argo_asf.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec_f.c avformat/asfdec_f: Use 64bit for preroll computation 2024-06-14 11:11:50 +02:00
asfdec_o.c avformat/asfdec_o: Check size of index object 2024-07-22 14:49:50 +02:00
asfenc.c
assdec.c
assenc.c
ast.c
ast.h
astdec.c
astenc.c
async.c
au.c avformat/au: cleanup on EOF return in au_read_annotation() 2021-02-02 14:18:21 +01:00
av1.c
av1.h
av1dec.c
avc.c
avc.h
avformat.h
avformatres.rc
avi.h
avidec.c avformat/avidec: Prevent entity expansion attacks 2022-09-26 16:50:53 +02:00
avienc.c
avio_internal.h
avio.c avformat/avio: Check av_opt_copy() for failure 2021-10-06 14:41:41 +02:00
avio.h
aviobuf.c
avisynth.c
avlanguage.c
avlanguage.h
avr.c avformat/avr: Check sample rate 2024-04-14 21:19:26 +02:00
avs.c avformat/avs: Check if return code is representable 2024-04-14 21:19:32 +02:00
bethsoftvid.c
bfi.c avformat/bfi: Check offsets better 2022-09-26 16:50:42 +02:00
bink.c
bintext.c avformat/bintext: Check avio_size() return 2024-07-22 14:50:23 +02:00
bit.c
bluray.c
bmv.c
boadec.c
brstm.c
c93.c
cache.c
caf.c
caf.h
cafdec.c avformat/cafdec: Check that data chunk end fits within 64bit 2024-04-14 21:19:52 +02:00
cafenc.c
cavsvideodec.c
cdg.c
cdxl.c
chromaprint.c
cinedec.c avformat/cinedec: Fix index_entries size check 2021-10-06 14:41:41 +02:00
codec2.c
concat.c
concatdec.c avformat/concatdec: Check user_duration sum 2024-04-14 21:19:53 +02:00
crcenc.c
crypto.c
cutils.c
dash.c
dash.h
dashdec.c avformat/dashdec: Reset pointer to NULL after freeing it 2021-02-27 07:20:59 +01:00
dashenc.c
data_uri.c
dauddec.c
daudenc.c
davs2.c
dcstr.c avformat/dcstr: Check sample rate 2021-10-06 14:41:40 +02:00
derf.c
dfa.c
dhav.c avformat/dhav: Break out of infinite dhav search loop 2021-02-02 14:18:21 +01:00
diracdec.c
dnxhddec.c
dsfdec.c avformat/dsfdec: Change order of operations in bitrate computation 2021-10-06 14:41:41 +02:00
dsicin.c avformat/dsicin: Check packet size for overflow 2021-10-06 14:41:41 +02:00
dss.c
dtsdec.c
dtshddec.c
dump.c
dv.c
dv.h
dvbsub.c
dvbtxt.c
dvenc.c
dxa.c avformat/dxa: Adjust order of operations around block align 2024-04-14 21:19:51 +02:00
eacdata.c
electronicarts.c avformat/electronicarts: Clear partial_packet on error 2021-02-20 14:21:24 +01: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 avformat/fitsdec: Better size checks 2021-02-02 14:18:21 +01:00
fitsenc.c
flac_picture.c
flac_picture.h
flacdec.c avformat/flacdec: Avoid double AVERRORS 2024-04-14 21:19:46 +02:00
flacenc_header.c
flacenc.c avformat/flacenc: Fix memleak when writing attached pictures fails 2021-02-27 07:20:59 +01:00
flacenc.h
flic.c
flv.h
flvdec.c avformat/flvdec: Use 64bit for sum_flv_tag_size 2022-09-26 16:51:01 +02:00
flvenc.c
format.c avformat/format: Stop reading data at EOF during probing 2024-04-14 21:19:29 +02:00
framecrcenc.c
framehash.c
frmdec.c
fsb.c
ftp.c avformat/ftp: Check for av_strtok() failure 2021-10-06 14:41:41 +02:00
fwse.c avformat/fwse: Remove always false expression 2024-06-14 11:11:50 +02:00
g722.c
g723_1.c
g726.c
g729dec.c
gdv.c
genh.c avformat/genh: Check sample rate 2022-09-26 16:50:40 +02:00
gif.c
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c avformat/gxf: Check pkt_len 2021-02-02 14:18:21 +01:00
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.c avformat/hls: reduce default max reload to 3 2024-04-14 21:19:29 +02:00
hlsenc.c avformat/hlsenc: Check ret 2024-07-22 14:50:42 +02:00
hlsplaylist.c
hlsplaylist.h
hlsproto.c
hnm.c avformat/hnm: Check *chunk_size 2024-07-22 16:21:52 +02:00
http.c
http.h
httpauth.c
httpauth.h
icecast.c
icodec.c avformat/icodec: Check nb_pal 2022-09-26 16:50:59 +02:00
icoenc.c
id3v1.c
id3v1.h
id3v2.c avformat/id3v2: read_uslt() check for the amount read 2024-04-14 21:19:50 +02:00
id3v2.h
id3v2enc.c
idcin.c
idroqdec.c
idroqenc.c
iff.c avformat/iff: Saturate avio_tell() + 12 2024-04-14 21:19:51 +02:00
ifv.c avformat/ifv: Check that total frames do not overflow 2021-02-02 14:18:21 +01:00
ilbc.c
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-21 19:55:42 +02:00
img2enc.c
ingenientdec.c
internal.h
ip.c
ip.h
ipmovie.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom.c
isom.h
iss.c
iv8.c
ivfdec.c
ivfenc.c
jacosubdec.c avformat/jacosubdec: Use 64bit for abs 2024-04-14 21:19:54 +02:00
jacosubenc.c
jvdec.c
kvag.c avformat/kvag: Check sample_rate 2024-06-14 11:11:41 +02:00
latmenc.c
libamqp.c
libavformat.v
libgme.c
libmodplug.c
libopenmpt.c
librtmp.c
libsmbclient.c
libsrt.c
libssh.c
libzmq.c avformat/libzmq: Check av_strstart() 2024-06-14 11:11:55 +02:00
lmlm4.c
loasdec.c
log2_tab.c
lrc.c
lrc.h
lrcdec.c avformat/lrcdec: Clip timestamps 2021-02-02 14:18:21 +01:00
lrcenc.c
lvfdec.c avformat/lvfdec: Check stream_index before use 2021-02-02 14:18:21 +01:00
lxfdec.c avformat/lxfdec: Fix multiple integer overflows related to track_size 2021-10-06 14:41:40 +02:00
m4vdec.c
Makefile
matroska.c
matroska.h
matroskadec.c avformat/matroskadec: Assert that num_levels is non negative 2024-06-14 11:11:55 +02:00
matroskaenc.c
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c avformat/microdvddec: use 64bit for durations 2021-10-06 14:41:40 +02:00
microdvdenc.c
mj2kdec.c
mkvtimestamp_v2.c
mlpdec.c
mlvdec.c avformat/mlvdec: Only store dimensions after having validated them 2021-02-27 07:20:56 +01:00
mm.c avformat/mm: Check length 2024-07-22 16:22:18 +02:00
mmf.c
mms.c
mms.h
mmsh.c
mmst.c
mov_chan.c
mov_chan.h
mov_esds.c
mov.c avformat/mov: Use 64bit for str_size 2024-07-22 16:23:01 +02:00
movenc.c avformat/movenc: Check that cts fits in 32bit 2024-04-14 21:19:57 +02:00
movenc.h
movenccenc.c
movenccenc.h
movenchint.c
mp3dec.c avformat/mp3dec: Check header_filesize 2024-07-22 16:24:03 +02:00
mp3enc.c
mpc8.c avformat/mpc8: Check first keyframe position for overflow 2021-10-06 14:41:41 +02:00
mpc.c
mpeg.c avformat/mpeg: Check len in mpegps_probe() 2024-07-21 19:58:37 +02:00
mpeg.h
mpegenc.c avformat/mpegenc: Avoid adding invalid packet to queue 2021-02-27 07:20:59 +01:00
mpegts.c avformat/mpegts: use actually read packet size in mpegts_resync special case 2021-10-20 23:11:11 +02:00
mpegts.h
mpegtsenc.c
mpegvideodec.c
mpjpeg.c
mpjpegdec.c
mpl2dec.c
mpsubdec.c avformat/mpsubdec: Use av_sat_add/sub64() in fracval handling 2021-02-02 14:18:21 +01:00
msf.c avformat/msf: Check that channels doesnt overflow during extradata construction 2021-10-06 14:41:41 +02:00
msnwc_tcp.c
mtaf.c
mtv.c
musx.c
mux.c
mvdec.c avformat/mvdec: Do not set invalid sample rate 2021-10-06 14:41:42 +02:00
mvi.c avformat/mvi: Check audio_data_size to be non negative 2021-10-06 14:41:41 +02:00
mxf.c
mxf.h
mxfdec.c avformat/mxfdec: Reorder elements of expression in bisect loop 2024-07-22 01:18:35 +02:00
mxfenc.c avformat/mxfenc: Never set codec_ul UID to NULL 2021-02-27 07:20:59 +01:00
mxg.c
ncdec.c
network.c
network.h
nistspheredec.c avformat/nistspheredec: Check bits_per_coded_sample and channels 2021-02-02 14:18:21 +01:00
nspdec.c
nsvdec.c avformat/nsvdec: Check asize for PCM 2024-07-22 16:24:30 +02:00
nullenc.c
nut.c
nut.h
nutdec.c avformat/nutdec: Add check for avformat_new_stream 2023-04-16 10:51:12 -03:00
nutenc.c
nuv.c avformat/nuv: Check channels 2021-02-02 14:18:21 +01:00
oggdec.c
oggdec.h
oggenc.c
oggparsecelt.c
oggparsedirac.c
oggparseflac.c
oggparseogm.c
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c avformat/oggparsetheora: clip duration within 64bit 2024-04-14 21:19:23 +02:00
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 avformat/paf: Check for EOF before allocation in read_header() 2021-10-06 14:41:40 +02:00
pcm.c avformat/pcm: Check block_align 2021-02-02 14:18:21 +01:00
pcm.h
pcmdec.c
pcmenc.c
pjsdec.c
pmpdec.c
pp_bnk.c
prompeg.c
protocols.c
psxstr.c
pva.c
pvfdec.c
qcp.c avformat/qcp: Avoid negative nb_rates 2021-10-06 14:41:41 +02:00
qtpalette.c
qtpalette.h
r3d.c avformat/r3d: Check samples before computing duration 2021-02-20 14:21:24 +01:00
rawdec.c
rawdec.h
rawenc.c
rawenc.h
rawutils.c
rawvideodec.c
rdt.c avformat/rdt: Check pkt_len 2024-07-21 19:59:20 +02:00
rdt.h
realtextdec.c avformat/realtextdec: Check the pts difference before using it for the duration computation 2021-10-06 14:41:41 +02:00
redspark.c
replaygain.c avformat/replaygain: avoid undefined / negative abs 2023-04-15 22:37:59 +02:00
replaygain.h
riff.c
riff.h
riffdec.c
riffenc.c
rl2.c
rm.c
rm.h
rmdec.c avformat/rmdec: use 64bit for audio_framesize checks 2024-07-21 21:40:55 +02:00
rmenc.c
rmsipr.c
rmsipr.h
rpl.c avformat/rpl: Use 64bit for total_audio_size and check it 2024-04-14 21:19:54 +02:00
rsd.c uavformat/rsd: check for EOF in extradata 2021-02-02 14:18:21 +01:00
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-21 21:41:43 +02:00
rtmppkt.h
rtmpproto.c
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_vc2hq.c avformat/rtpenc_vc2hq: Check sizes 2024-07-21 21:10:36 +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-21 21:12:33 +02:00
rtsp.h
rtspcodes.h
rtspdec.c
rtspenc.c
s337m.c
samidec.c avformat/samidec: Sanity check pts 2021-02-20 14:21:24 +01:00
sapdec.c avformat/sapdec: Check ffurl_get_file_handle() for error 2024-07-22 16:24:50 +02:00
sapenc.c
sauce.c avformat/sauce: Check avio_size() for failure 2024-07-22 16:25:40 +02:00
sauce.h
sbcdec.c
sbgdec.c avformat/sbgdec: Check for negative duration 2024-04-14 21:19:55 +02:00
sccdec.c
sccenc.c
sctp.c avformat/sctp: close socket on errors 2022-09-26 16:50:45 +02:00
sdp.c avformat/sdp: Check before appending "," 2024-06-14 11:11:53 +02:00
sdr2.c
sdsdec.c avformat/sdsdec: Use av_rescale() to avoid intermediate overflow in duration calculation 2022-09-26 16:51:03 +02:00
sdxdec.c
segafilm.c
segafilmenc.c
segment.c avformat/segment: Fix error messages 2021-02-27 07:21:00 +01:00
serdec.c
shortendec.c
sierravmd.c avformat/sierravmd: Don't return packets for non-existing stream 2021-02-22 22:00:15 +01:00
siff.c avformat/siff: Basic pkt_size check 2024-07-22 16:26:18 +02:00
smacker.c avformat/smacker: Check for too small pts_inc 2021-02-02 14:18:22 +01:00
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c
smush.c
sol.c
sox.h
soxdec.c avformat/soxdec: Check channels to be positive 2021-02-02 14:18:22 +01:00
soxenc.c
spdif.c
spdif.h
spdifdec.c avformat/spdifdec: Use 64bit to compute bit rate 2022-09-26 16:51:04 +02:00
spdifenc.c avformat/spdifenc: Fix leak upon error 2021-02-27 07:20:59 +01:00
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-21 21:35:15 +02:00
subtitles.c
subtitles.h
subviewer1dec.c
subviewerdec.c avformat/subviewerdec: Make read_ts() more flexible 2022-09-26 16:50:52 +02:00
supdec.c
supenc.c
svag.c
swf.c
swf.h
swfdec.c avformat/swfdec: Reorder allocations/initializations 2021-02-27 07:20:58 +01:00
swfenc.c avformat/swfenc: Fix memleak upon write_header error 2021-02-27 07:20:58 +01:00
takdec.c
tcp.c
tedcaptionsdec.c avformat/tedcaptionsdec: Fix leak of AVBPrint upon error 2021-02-27 07:20:58 +01:00
tee_common.c
tee_common.h
tee.c
teeproto.c
thp.c
tiertexseq.c
tls_gnutls.c
tls_libtls.c
tls_mbedtls.c lavf/tls_mbedtls: add support for mbedtls version 3 2022-04-27 18:47:59 +02:00
tls_openssl.c
tls_schannel.c avformat/tls_schannel: Initialize ret 2024-07-21 21:36:44 +02:00
tls_securetransport.c
tls.c
tls.h
tmv.c avformat/tmv: Check video chunk size 2024-04-14 21:19:36 +02:00
tta.c avformat/tta: Better totalframes check 2024-04-14 21:19:34 +02:00
ttaenc.c
tty.c avformat/tty: Check avio_size() 2024-07-22 16:26:51 +02:00
txd.c
ty.c avformat/ty: rec_size seems to only need 32bit 2024-07-22 16:27:09 +02:00
udp.c
uncodedframecrcenc.c
unix.c
url.c avformat/url: add ff_make_absolulte_url2 to be able to test windows path cases 2021-04-08 17:49:26 +02:00
url.h avformat/url: add ff_make_absolulte_url2 to be able to test windows path cases 2021-04-08 17:49:26 +02:00
urldecode.c
urldecode.h
utils.c seek: Fix crashes in ff_seek_frame_binary if built with latest Clang 14 2024-04-14 21:19:41 +02:00
v210.c
vag.c
vapoursynth.c
vc1dec.c
vc1test.c
vc1testenc.c
version.h
vividas.c avformat/vividas: Check packet size 2022-10-10 21:49:58 +02:00
vivo.c avformat/vivo: Favor setting fps from explicit fractions 2022-04-06 20:38:05 +02:00
voc_packet.c avformat/voc_packet: prevent remaining size from becoming negative in ff_voc_get_packet() 2021-10-06 14:41:41 +02:00
voc.c
voc.h
vocdec.c
vocenc.c
vorbiscomment.c
vorbiscomment.h
vpcc.c
vpcc.h
vpk.c
vplayerdec.c
vqf.c avformat/vqf: Check len for COMM chunks 2021-02-02 14:18:21 +01:00
w64.c
w64.h
wavdec.c avformat/wavdec: Check if there are 16 bytes before testing them 2024-08-05 23:19:20 +02:00
wavenc.c avformat/wavenc: Fix leak and segfault on reallocation error 2021-02-27 07:20:59 +01:00
wc3movie.c
webm_chunk.c
webmdashenc.c avformat/webmdashenc: fix on-demand profile string 2022-04-08 00:07:11 -03:00
webpenc.c
webvttdec.c
webvttenc.c
westwood_aud.c
westwood_vqa.c avformat/westwood_vqa: Fix 2g packets 2024-04-14 21:19:56 +02:00
wsddec.c
wtv_common.c
wtv.h
wtvdec.c avformat/wtvdec: Check for EOF before seeking back in parse_media_type() 2021-10-06 14:41:41 +02:00
wtvenc.c
wv.c
wv.h
wvdec.c
wvedec.c
wvenc.c
xa.c
xmv.c avformat/xmv: Check this_packet_size 2024-07-22 16:27:40 +02:00
xvag.c
xwma.c avformat/xwma: sanity check bits_per_coded_sample 2024-04-14 21:19:35 +02:00
yop.c
yuv4mpeg.h
yuv4mpegdec.c
yuv4mpegenc.c