Commit 9b26bb4c9a for ffmpeg
commit 9b26bb4c9a4457d480899a1bf64ec080eceb1acd
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Fri Oct 30 19:05:53 2026 +0100
avcodec/imc: reject blocks whose bit budget is already exceeded
Fixes: infinite loop
Fixes: signed integer overflow
Fixes: BZhUOuyaOjUD
Fixes: AISLE-2026-0150-00064
Infinite loop Replicated through UnModified FFmpeg with UBSAN
Found-by: Joshua Rogers (AISLE)
diff --git a/libavcodec/imc.c b/libavcodec/imc.c
index fa02fd5d8a..014f9bbfaa 100644
--- a/libavcodec/imc.c
+++ b/libavcodec/imc.c
@@ -439,6 +439,9 @@ static int bit_allocation(IMCContext *q, IMCChannel *chctx,
int flg;
int found_indx = 0;
+ if (freebits < 0)
+ return AVERROR_INVALIDDATA;
+
for (i = 0; i < BANDS; i++)
highest = FFMAX(highest, chctx->flcoeffs1[i]);