diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2012-12-13 16:20:19 +0100 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2013-01-12 19:27:29 +0100 |
commit | 4ede95e69cf964cd46b1e9fcd48da80d8d92c433 (patch) | |
tree | bf6ff2bc9a2d5ff7d262353c278b27c678ea06d6 /libavcodec | |
parent | ce8910d861c14a7fcc1c550380e1011a3a3b3e8c (diff) | |
download | ffmpeg-4ede95e69cf964cd46b1e9fcd48da80d8d92c433.tar.gz |
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 be75fed9755c1285ba084574aff2d7ee0f81110d)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/vp6.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c index 7347f9fac2..309e856de3 100644 --- a/libavcodec/vp6.c +++ b/libavcodec/vp6.c @@ -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; |