[FFmpeg-cvslog] cljr: Check if width and height are positive integers

Shitiz Garg git at videolan.org
Tue Dec 20 04:18:09 CET 2011


ffmpeg | branch: master | Shitiz Garg <mail at dragooon.net> | Thu Dec 15 22:20:21 2011 +0000| [652d81b2c2201922f0fef2bbd171299ce3798d12] | committer: Janne Grunau

cljr: Check if width and height are positive integers

Width and height might get passed as 0 and would cause floating point
exceptions in decode_frame.
Fixes bugzilla #149

Signed-off-by: Janne Grunau <janne-libav at jannau.net>

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

 libavcodec/cljr.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/libavcodec/cljr.c b/libavcodec/cljr.c
index a5ee738..f40d4d1 100644
--- a/libavcodec/cljr.c
+++ b/libavcodec/cljr.c
@@ -57,6 +57,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");



More information about the ffmpeg-cvslog mailing list