aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-02-29 06:20:22 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-02-29 06:27:38 +0100
commitc2500635235d809e0c0ac526a7e13072ab7c8900 (patch)
tree623e25483adae3ba3992f50841babf2f190b8457
parent8534881a389044ec51adabcf979616b4875ac072 (diff)
downloadffmpeg-c2500635235d809e0c0ac526a7e13072ab7c8900.tar.gz
get_buffers: Check that pix_fmt is not NONE.
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>
-rw-r--r--ffmpeg.c2
-rw-r--r--ffplay.c2
-rw-r--r--libavcodec/utils.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index 06fb2535a9..c43192d8f9 100644
--- 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)
diff --git a/ffplay.c b/ffplay.c
index 19c430883c..93097e1ee7 100644
--- 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);
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index a697facdaa..63f7fae88a 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -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) {