flashv: check if keyframe is available, fix null deref.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-11-13 00:21:59 +01:00
parent 4b2f696d6e
commit e9cb533fbb
1 changed files with 4 additions and 0 deletions

View File

@ -406,6 +406,10 @@ static int flashsv_decode_frame(AVCodecContext *avctx, void *data,
int k;
int off = (s->image_height - y_pos - 1) * s->frame.linesize[0];
if (!s->keyframe) {
av_log(avctx, AV_LOG_ERROR, "no keyframe yet\n");
return AVERROR_INVALIDDATA;
}
for (k = 0; k < cur_blk_height; k++)
memcpy(s->frame.data[0] + off - k*s->frame.linesize[0] + x_pos*3,
s->keyframe + off - k*s->frame.linesize[0] + x_pos*3,