Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShitiz Garg <mail-5deEcKV3Bynk1uMJSBkQmQ@public.gmane.org>2011-12-16 03:20:21 +0400
committerMichael Niedermayer <michaelni@gmx.at>2011-12-16 23:23:38 +0400
commit4af0262f7d531c33b00d7f9dbca808d9c62d6a84 (patch)
treee66a946084144694f62f10e75820bddc1487c205 /libavcodec/cljr.c
parent7b92863f30b1a748dc17bf662379261b42751f86 (diff)
cljr: Check if width or 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: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/cljr.c')
-rw-r--r--libavcodec/cljr.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/cljr.c b/libavcodec/cljr.c
index 7ae3e7eeeb..2b0142b979 100644
--- a/libavcodec/cljr.c
+++ b/libavcodec/cljr.c
@@ -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");