summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Kang <[email protected]>2011-01-07 21:54:52 +0000
committerCarl Eugen Hoyos <[email protected]>2011-01-07 21:54:52 +0000
commitf2953365d1c1da8c1e586270c6eb2c7437c77a9f (patch)
tree7335cb3839ae57d794a354281fa757ae724af097
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
-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");