]> git.sesse.net Git - ffmpeg/commitdiff
cljr: Check if width or height are positive integers
authorShitiz Garg <mail-5deEcKV3Bynk1uMJSBkQmQ@public.gmane.org>
Thu, 15 Dec 2011 23:20:21 +0000 (04:50 +0530)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 16 Dec 2011 19:23:38 +0000 (20:23 +0100)
width and height might get passed as 0 and would cause floating point
exceptions in decode_frame.
Fixes bugzilla #149

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/cljr.c

index 7ae3e7eeeb5a8f8bf36eece95920047588e06169..2b0142b97995e758437bc8862d96c2726f3ade65 100644 (file)
@@ -61,6 +61,11 @@ static int decode_frame(AVCodecContext *avctx,
     if (p->data[0])
         avctx->release_buffer(avctx, p);
 
+    if (avctx->height <= 0 || avctx->width <= 0) {
+        av_log(avctx, AV_LOG_ERROR, "Invalid width or height\n");
+        return AVERROR_INVALIDDATA;
+    }
+
     if (buf_size / avctx->height < avctx->width) {
         av_log(avctx, AV_LOG_ERROR,
                "Resolution larger than buffer size. Invalid header?\n");