[FFmpeg-cvslog] imgutils: make av_image_get_linesize() return AVERROR(EINVAL) for invalid pixel formats

Stefano Sabatini git at videolan.org
Tue May 17 00:14:28 CEST 2011


ffmpeg | branch: master | Stefano Sabatini <stefano.sabatini-lala at poste.it> | Fri May 13 16:27:35 2011 +0200| [0d73227c712eca2247e06d7a3c2daeb6f6f2a128] | committer: Stefano Sabatini

imgutils: make av_image_get_linesize() return AVERROR(EINVAL) for invalid pixel formats

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0d73227c712eca2247e06d7a3c2daeb6f6f2a128
---

 libavutil/imgutils.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/libavutil/imgutils.c b/libavutil/imgutils.c
index 0df8de4..3103efb 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);



More information about the ffmpeg-cvslog mailing list