On 5/10/2025 11:36 AM, Michael Niedermayer wrote:
Fixes: Assertion n>=0 && n<=32 failed at ./libavcodec/get_bits.h:406 Fixes: 398527871/clusterfuzz-testcase-minimized-ffmpeg_dem_IAMF_fuzzer-6602025714647040Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> --- libavformat/iamf_parse.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/iamf_parse.c b/libavformat/iamf_parse.c index abedfdb0668..37fb25962c4 100644 --- a/libavformat/iamf_parse.c +++ b/libavformat/iamf_parse.c @@ -304,6 +304,8 @@ static int update_extradata(AVCodecParameters *codecpar) skip_bits(&gb, 4); put_bits(&pb, 4, codecpar->ch_layout.nb_channels); // set channel config ret = put_bits_left(&pb); + if (ret < 0) + return AVERROR_INVALIDDATA; put_bits(&pb, ret, get_bits_long(&gb, ret)); flush_put_bits(&pb);
No, there's something wrong because the buffer for PutBytes is fixed and local. Maybe 5 bytes was not enough.
Will have a look.
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".