aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
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-12 19:27:29 +0100
commit4ede95e69cf964cd46b1e9fcd48da80d8d92c433 (patch)
treebf6ff2bc9a2d5ff7d262353c278b27c678ea06d6 /libavcodec
parentce8910d861c14a7fcc1c550380e1011a3a3b3e8c (diff)
downloadffmpeg-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.c4
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;