[FFmpeg-cvslog] sonic: fix FPE

Michael Niedermayer git at videolan.org
Tue Jun 26 00:44:31 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Jun 26 00:38:05 2012 +0200| [8a0cd58729364c7d8cf4361aa586f3d0dc43ebb4] | committer: Michael Niedermayer

sonic: fix FPE

Fixes Ticket1397

Found-by: Piotr Bandurski <ami_stuff at o2.pl>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/sonic.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c
index da0f549..d42b07d 100644
--- a/libavcodec/sonic.c
+++ b/libavcodec/sonic.c
@@ -796,6 +796,11 @@ static av_cold int sonic_decode_init(AVCodecContext *avctx)
     s->decorrelation = get_bits(&gb, 2);
 
     s->downsampling = get_bits(&gb, 2);
+    if (!s->downsampling) {
+        av_log(avctx, AV_LOG_ERROR, "invalid downsampling value\n");
+        return AVERROR_INVALIDDATA;
+    }
+
     s->num_taps = (get_bits(&gb, 5)+1)<<5;
     if (get_bits1(&gb)) // XXX FIXME
         av_log(avctx, AV_LOG_INFO, "Custom quant table\n");



More information about the ffmpeg-cvslog mailing list