diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2012-12-13 16:20:19 +0100 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2013-01-05 12:02:22 +0100 |
commit | 3e700cc66be24540ac816f17ab53d288d01863b7 (patch) | |
tree | f604befd050eaeb55105f9bcd968c1443fe0333b | |
parent | a5290800f5716a50ff53761164955be09a4e5581 (diff) | |
download | ffmpeg-3e700cc66be24540ac816f17ab53d288d01863b7.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>
-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 9c8d40f70c..faba49b5e1 100644 --- a/libavcodec/vp6.c +++ b/libavcodec/vp6.c @@ -64,8 +64,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; |