h264: error out on unset current_picture_ptr for h->current_slice > 0

Fixes a segfault with fuzzed sample sample_varPAR_s11622_r001-02.avi.

CC: libav-stable@libav.org
This commit is contained in:
Janne Grunau 2012-11-21 19:41:59 +01:00
parent 89a4465bd9
commit 0b300daad2
1 changed files with 5 additions and 0 deletions

View File

@ -2624,6 +2624,11 @@ static int decode_slice_header(H264Context *h, H264Context *h0)
s->picture_structure = last_pic_structure;
s->dropable = last_pic_dropable;
return AVERROR_INVALIDDATA;
} else if (!s->current_picture_ptr) {
av_log(s->avctx, AV_LOG_ERROR,
"unset current_picture_ptr on %d. slice\n",
h0->current_slice + 1);
return AVERROR_INVALIDDATA;
}
} else {
/* Shorten frame num gaps so we don't have to allocate reference