From 4fa2758c799a4455bd5f69392fdd8aad657e4b50 Mon Sep 17 00:00:00 2001 From: Benoit Fouet Date: Mon, 8 Dec 2014 03:16:46 +0100 Subject: avcodec/pngdec: check av_image_get_linesize return value Fixes CID 1257012 Signed-off-by: Michael Niedermayer --- libavcodec/pngdec.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libavcodec/pngdec.c') diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index e6b7593..60acd3f 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -872,6 +872,9 @@ static int handle_p_frame_apng(AVCodecContext *avctx, PNGDecContext *s, s->previous_picture.f->data[0] : s->last_picture.f->data[0]; int ls = FFMIN(av_image_get_linesize(p->format, s->width, 0), s->width * s->bpp); + if (ls < 0) + return ls; + if (s->blend_op == APNG_BLEND_OP_OVER && avctx->pix_fmt != AV_PIX_FMT_RGBA && avctx->pix_fmt != AV_PIX_FMT_ARGB) { avpriv_request_sample(avctx, "Blending with pixel format %s", -- cgit v1.1