From ee7388c934a89aecce919d17bc28773822e2b444 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 9 Feb 2006 09:38:03 +0000 Subject: fix segfault on broken streams Originally committed as revision 4966 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/ffv1.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libavcodec') diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c index 10ba21b4c7..0f9b3446b8 100644 --- a/libavcodec/ffv1.c +++ b/libavcodec/ffv1.c @@ -959,11 +959,14 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8 p->pict_type= FF_I_TYPE; //FIXME I vs. P if(get_rac(c, &keystate)){ p->key_frame= 1; - read_header(f); + if(read_header(f) < 0) + return -1; clear_state(f); }else{ p->key_frame= 0; } + if(!f->plane[0].state && !f->plane[0].vlc_state) + return -1; p->reference= 0; if(avctx->get_buffer(avctx, p) < 0){ -- cgit v1.2.3