From 0d73227c712eca2247e06d7a3c2daeb6f6f2a128 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Fri, 13 May 2011 16:27:35 +0200 Subject: [PATCH] imgutils: make av_image_get_linesize() return AVERROR(EINVAL) for invalid pixel formats --- libavutil/imgutils.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavutil/imgutils.c b/libavutil/imgutils.c index 0df8de4255..3103efbe4a 100644 --- a/libavutil/imgutils.c +++ b/libavutil/imgutils.c @@ -50,6 +50,9 @@ int av_image_get_linesize(enum PixelFormat pix_fmt, int width, int plane) int max_step_comp[4]; /* the component for each plane which has the max pixel step */ int s, linesize; + if ((unsigned)pix_fmt >= PIX_FMT_NB || desc->flags & PIX_FMT_HWACCEL) + return AVERROR(EINVAL); + av_image_fill_max_pixsteps(max_step, max_step_comp, desc); s = (max_step_comp[plane] == 1 || max_step_comp[plane] == 2) ? desc->log2_chroma_w : 0; linesize = max_step[plane] * (((width + (1 << s) - 1)) >> s);