[FFmpeg-devel] [PATCH 4/5] avformat/iff: Check nb_channels == 0 in CHNL
Michael Niedermayer
michael at niedermayer.cc
Mon Jun 23 17:33:57 EEST 2025
On Sun, Jun 22, 2025 at 02:40:23PM +1000, Peter Ross wrote:
> On Sat, Jun 21, 2025 at 11:15:20PM +0200, Michael Niedermayer wrote:
> > Fixes: division by 0
> > Fixes: 418396712/clusterfuzz-testcase-minimized-ffmpeg_dem_IFF_fuzzer-6104388018176000
> > Fixes: 418478219/clusterfuzz-testcase-minimized-ffmpeg_dem_IFF_fuzzer-4569544410857472
> >
> > Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> > libavformat/iff.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/libavformat/iff.c b/libavformat/iff.c
> > index 9402be48c98..4ff10beb38a 100644
> > --- a/libavformat/iff.c
> > +++ b/libavformat/iff.c
> > @@ -284,7 +284,7 @@ static int parse_dsd_prop(AVFormatContext *s, AVStream *st, uint64_t eof)
> > return AVERROR_INVALIDDATA;
> > st->codecpar->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC;
> > st->codecpar->ch_layout.nb_channels = avio_rb16(pb);
> > - if (size < 2 + st->codecpar->ch_layout.nb_channels * 4)
> > + if (size < 2 + st->codecpar->ch_layout.nb_channels * 4 || !st->codecpar->ch_layout.nb_channels)
> > return AVERROR_INVALIDDATA;
> > if (st->codecpar->ch_layout.nb_channels > FF_ARRAY_ELEMS(dsd_layout)) {
> > avpriv_request_sample(s, "channel layout");
>
> please apply
will apply
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Complexity theory is the science of finding the exact solution to an
approximation. Benchmarking OTOH is finding an approximation of the exact
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250623/00a508db/attachment.sig>
More information about the ffmpeg-devel
mailing list