From 37b787f124a3a5025253858d1dd1ec30f1e263e4 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 11 Apr 2003 22:53:03 +0000 Subject: some checks to avoid segfaults if the decoder is feeded with junk Originally committed as revision 1757 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/mpeg12.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libavcodec') diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index c5b39e1c92..7250226fd3 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -1858,6 +1858,12 @@ static int mpeg_decode_slice(AVCodecContext *avctx, } }else{ //second field int i; + + if(!s->current_picture_ptr){ + fprintf(stderr, "first field missing\n"); + return -1; + } + for(i=0; i<4; i++){ s->current_picture.data[i] = s->current_picture_ptr->data[i]; if(s->picture_structure == PICT_BOTTOM_FIELD){ @@ -2266,6 +2272,8 @@ static int mpeg_decode_frame(AVCodecContext *avctx, /* skip everything if we are in a hurry>=5 */ if(avctx->hurry_up>=5) break; + if (!s->mpeg_enc_ctx_allocated) break; + ret = mpeg_decode_slice(avctx, picture, start_code, s->buffer, input_size); -- cgit v1.2.3