diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2012-12-13 16:20:19 +0100 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2013-02-10 18:01:16 +0100 |
commit | b9500bf864e9b5619f9d3b1331f4487a1a70ecf4 (patch) | |
tree | 42ccaa7958bd398720193378bdd3be9cf43c9e5e | |
parent | 4f8f4458a5a837bf58ae3b3662b0ec4278682612 (diff) | |
download | ffmpeg-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.c | 4 |
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; |