vc1dec: odd sized sprites are unsupported

It should be easy to add support but without a sample we would
not know if they work.

Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-03-06 00:03:58 +01:00
parent d929364814
commit 058e1f8dd7
1 changed files with 5 additions and 0 deletions

View File

@ -5292,6 +5292,11 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx)
v->sprite_height > 1 << 14 ||
v->output_width > 1 << 14 ||
v->output_height > 1 << 14) return -1;
if ((v->sprite_width&1) || (v->sprite_height&1)) {
av_log(avctx, AV_LOG_ERROR, "odd sprite\n");
return AVERROR_PATCHWELCOME;
}
}
return 0;
}