summaryrefslogtreecommitdiff
path: root/libavcodec/cljr.c
diff options
context:
space:
mode:
authorDaniel Kang <daniel.d.kang@gmail.com>2011-01-07 21:54:52 +0000
committerCarl Eugen Hoyos <cehoyos@rainbow.studorg.tuwien.ac.at>2011-01-07 21:54:52 +0000
commitf2953365d1c1da8c1e586270c6eb2c7437c77a9f (patch)
tree7335cb3839ae57d794a354281fa757ae724af097 /libavcodec/cljr.c
parenta2b7ed3274b2b575f6d2e8fd3bf0a6a1818b2c1e (diff)
Check if buffer is large enough for given resolution.
Fixes issue 2501. Patch by Daniel Kang, daniel.d.kang at gmail Originally committed as revision 26258 to svn://svn.ffmpeg.org/ffmpeg/trunk
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 47809c0ce4..96c9bdf08a 100644
--- a/libavcodec/cljr.c
+++ b/libavcodec/cljr.c
@@ -54,6 +54,11 @@ static int decode_frame(AVCodecContext *avctx,
if(p->data[0])
avctx->release_buffer(avctx, p);
+ if(buf_size/avctx->height < avctx->width) {
+ av_log(avctx, AV_LOG_ERROR, "Resolution larger than buffer size. Invalid header?\n");
+ return -1;
+ }
+
p->reference= 0;
if(avctx->get_buffer(avctx, p) < 0){
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");