aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2012-12-13 16:20:19 +0100
committerReinhard Tartler <siretart@tauware.de>2013-01-05 12:02:22 +0100
commit3e700cc66be24540ac816f17ab53d288d01863b7 (patch)
treef604befd050eaeb55105f9bcd968c1443fe0333b
parenta5290800f5716a50ff53761164955be09a4e5581 (diff)
downloadffmpeg-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.c4
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;