diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2024-09-23 20:55:17 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2024-12-02 03:14:48 +0100 |
commit | f52b9d05837c23b0c55013551bc28dce4922de0b (patch) | |
tree | 2dd9b5fc6e6ce66c885d7df67b7d0132eaead143 | |
parent | 4949e34d96cc751aedaace02123c2fb02b5ac174 (diff) | |
download | ffmpeg-f52b9d05837c23b0c55013551bc28dce4922de0b.tar.gz |
avformat/qcp: Check for read failure in header
Fixes: Use of uninitialized value
Fixes: 71551/clusterfuzz-testcase-minimized-ffmpeg_dem_QCP_fuzzer-4647386712965120
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/qcp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/qcp.c b/libavformat/qcp.c index fdf18618d2..13a479a11e 100644 --- a/libavformat/qcp.c +++ b/libavformat/qcp.c @@ -105,7 +105,8 @@ static int qcp_read_header(AVFormatContext *s) st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_MONO; - avio_read(pb, buf, 16); + if (avio_read(pb, buf, 16) != 16) + return AVERROR_INVALIDDATA; if (is_qcelp_13k_guid(buf)) { st->codecpar->codec_id = AV_CODEC_ID_QCELP; } else if (!memcmp(buf, guid_evrc, 16)) { |