vp6: properly fail on unsupported feature

Interlacing is not supported at all and mismanaged down the normal
codepaths causing possible buffer management issues.

Fixes: CVE-2012-2783
(cherry picked from commit be75fed975)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
This commit is contained in:
Luca Barbato 2012-12-13 16:20:19 +01:00 committed by Reinhard Tartler
parent ce8910d861
commit 4ede95e69c
1 changed files with 2 additions and 2 deletions

View File

@ -62,8 +62,8 @@ static int vp6_parse_header(VP56Context *s, const uint8_t *buf, int buf_size,
return AVERROR_INVALIDDATA;
s->filter_header = buf[1] & 0x06;
if (buf[1] & 1) {
av_log(s->avctx, AV_LOG_ERROR, "interlacing not supported\n");
return 0;
av_log_missing_feature(s->avctx, "Interlacing", 0);
return AVERROR_PATCHWELCOME;
}
if (separated_coeff || !s->filter_header) {
coeff_offset = AV_RB16(buf+2) - 2;