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:
authorMichael Niedermayer <michaelni@gmx.at>2012-03-23 13:48:18 +0400
committerMichael Niedermayer <michaelni@gmx.at>2012-03-23 13:48:18 +0400
commita22e64fd02133867406604cb6589bb31696f08bc (patch)
tree8b1e7404e10a3cf8f2e86350a7b73e571175b62a /libavcodec/rawdec.c
parent5934d57ba99b3dab4dfe98472ac6b30b9cf6329a (diff)
rawdec: Check w/h.
Fixes FPE Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/rawdec.c')
-rw-r--r--libavcodec/rawdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
index 8b8e9d6a1f..b59224302a 100644
--- a/libavcodec/rawdec.c
+++ b/libavcodec/rawdec.c
@@ -158,6 +158,11 @@ static int raw_decode(AVCodecContext *avctx,
if(buf_size < context->length - (avctx->pix_fmt==PIX_FMT_PAL8 ? 256*4 : 0))
return -1;
+ if (avctx->width <= 0 || avctx->height <= 0) {
+ av_log(avctx, AV_LOG_ERROR, "w/h is invalid\n");
+ return AVERROR(EINVAL);
+ }
+
//2bpp and 4bpp raw in avi and mov (yes this is ugly ...)
if (context->buffer) {
int i;