[FFmpeg-devel] [PATCH] avcodec/speexdec: consider differing frame sizes in remaining space check

Michael Niedermayer michael at niedermayer.cc
Fri Jun 27 19:14:28 EEST 2025


Fixes: talk109-q5.spx
Regression since: f6986e75be87f512f65d64ac91ba19d505a8d210

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavcodec/speexdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/speexdec.c b/libavcodec/speexdec.c
index 94dce5420cc..ba9faeb15d1 100644
--- a/libavcodec/speexdec.c
+++ b/libavcodec/speexdec.c
@@ -1234,7 +1234,7 @@ static int sb_decode(AVCodecContext *avctx, void *ptr_st,
     mode = st->mode;
 
     if (st->modeID > 0) {
-        if (packets_left <= 1)
+        if (packets_left * s->frame_size < 2*st->frame_size)
             return AVERROR_INVALIDDATA;
         low_innov_alias = out + st->frame_size;
         s->st[st->modeID - 1].innov_save = low_innov_alias;
-- 
2.49.0



More information about the ffmpeg-devel mailing list