get_buffers: Check that pix_fmt is not NONE.
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 29 Feb 2012 05:20:22 +0000 (06:20 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 29 Feb 2012 05:27:38 +0000 (06:27 +0100)
This is somewhat redundant as no decoder should call get_buffer() with such argument.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c
ffplay.c
libavcodec/utils.c

index 06fb253..c43192d 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -553,7 +553,7 @@ static int codec_get_buffer(AVCodecContext *s, AVFrame *frame)
     FrameBuffer *buf;
     int ret, i;
 
-    if(av_image_check_size(s->width, s->height, 0, s))
+    if(av_image_check_size(s->width, s->height, 0, s) || s->pix_fmt<0)
         return -1;
 
     if (!ist->buffer_pool && (ret = alloc_buffer(s, ist, &ist->buffer_pool)) < 0)
index 19c4308..93097e1 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
@@ -1564,7 +1564,7 @@ static int input_get_buffer(AVCodecContext *codec, AVFrame *pic)
     w = codec->width;
     h = codec->height;
 
-    if(av_image_check_size(w, h, 0, codec))
+    if(av_image_check_size(w, h, 0, codec) || codec->pix_fmt<0)
         return -1;
 
     avcodec_align_dimensions2(codec, &w, &h, stride);
index a697fac..63f7fae 100644 (file)
@@ -414,7 +414,7 @@ static int video_get_buffer(AVCodecContext *s, AVFrame *pic)
         return -1;
     }
 
-    if(av_image_check_size(w, h, 0, s))
+    if(av_image_check_size(w, h, 0, s) || s->pix_fmt<0)
         return -1;
 
     if (!avci->buffer) {