Commit 5ef923d052 for ffmpeg
commit 5ef923d052a0d0b5087f1766af704525d500ab73
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Sat Oct 10 08:33:13 2026 +0200
avformat/vqf: reject more than two channels
Fixes: Timeout
Fixes: xYsvVfSX7ZHq
Fixes: swarm-Integer-overflow-in-VQF-frame_bit_len-computation-3a8153
Found-by: zhang xingxing <2388969553@qq.com>
Suggested-by: zhang xingxing <2388969553@qq.com>
Infinite loop Replicated through UnModified FFmpeg with timeout
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
diff --git a/libavformat/vqf.c b/libavformat/vqf.c
index fb668c16da..a83b59bcdd 100644
--- a/libavformat/vqf.c
+++ b/libavformat/vqf.c
@@ -152,7 +152,7 @@ static int vqf_read_header(AVFormatContext *s)
rate_flag = AV_RB32(comm_chunk + 8);
avio_skip(s->pb, len-12);
- if (st->codecpar->ch_layout.nb_channels <= 0) {
+ if (st->codecpar->ch_layout.nb_channels <= 0 || st->codecpar->ch_layout.nb_channels > 2) {
av_log(s, AV_LOG_ERROR, "Invalid number of channels\n");
return AVERROR_INVALIDDATA;
}