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-02-10 18:01:16 +0100
commitb9500bf864e9b5619f9d3b1331f4487a1a70ecf4 (patch)
tree42ccaa7958bd398720193378bdd3be9cf43c9e5e
parent4f8f4458a5a837bf58ae3b3662b0ec4278682612 (diff)
downloadffmpeg-b9500bf864e9b5619f9d3b1331f4487a1a70ecf4.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> (cherry picked from commit 4ede95e69cf964cd46b1e9fcd48da80d8d92c433) 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 d9e9711cca..6d0d3b2d6e 100644
--- a/libavcodec/vp6.c
+++ b/libavcodec/vp6.c
@@ -61,8 +61,8 @@ static int vp6_parse_header(VP56Context *s, const uint8_t *buf, int buf_size,
return 0;
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(s->avctx, AV_LOG_WARNING, "interlacing not supported\n");
+ return AVERROR_PATCHWELCOME;
}
if (separated_coeff || !s->filter_header) {
coeff_offset = AV_RB16(buf+2) - 2;