avformat/iamf_parse: 0 layers are not allowed
Fixes: out of array access Fixes: 68302/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-4665793796177920 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 7fab9b97613e5ec6954fb8118f9ca43f04847cfe)
This commit is contained in:
parent
ce939aa59a
commit
3d4d2897e6
@ -330,7 +330,7 @@ static int scalable_channel_layout_config(void *s, AVIOContext *pb,
|
||||
nb_layers = avio_r8(pb) >> 5; // get_bits(&gb, 3);
|
||||
// skip_bits(&gb, 5); //reserved
|
||||
|
||||
if (nb_layers > 6)
|
||||
if (nb_layers > 6 || nb_layers == 0)
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
||||
audio_element->layers = av_calloc(nb_layers, sizeof(*audio_element->layers));
|
||||
|
Loading…
x
Reference in New Issue
Block a user