width and height might get passed as 0 and would cause floating point
exceptions in decode_frame.
Fixes bugzilla #149
---
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");
--
1.7.5.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel