[FFmpeg-cvslog] cook: check subbands more completely, fix out of array read.

Michael Niedermayer git at videolan.org
Sat Nov 17 04:50:38 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Nov 17 03:42:48 2012 +0100| [774830050aff71bcf02c68c0767f401240385842] | committer: Michael Niedermayer

cook: check subbands more completely, fix out of array read.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=774830050aff71bcf02c68c0767f401240385842
---

 libavcodec/cook.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/cook.c b/libavcodec/cook.c
index a02dd86..0092f25 100644
--- a/libavcodec/cook.c
+++ b/libavcodec/cook.c
@@ -1197,6 +1197,10 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
             av_log_ask_for_sample(avctx, "subbands > 50\n");
             return AVERROR_PATCHWELCOME;
         }
+        if (q->subpacket[s].subbands == 0) {
+            av_log_ask_for_sample(avctx, "subbands is 0\n");
+            return AVERROR_PATCHWELCOME;
+        }
         q->subpacket[s].gains1.now      = q->subpacket[s].gain_1;
         q->subpacket[s].gains1.previous = q->subpacket[s].gain_2;
         q->subpacket[s].gains2.now      = q->subpacket[s].gain_3;



More information about the ffmpeg-cvslog mailing list