Interlacing is not supported at all and mismanaged down the normal
codepaths causing possible buffer management issues.

CC: [email protected]
---

Probably could be worth checking that we wouldn't have other way to trip
into a doublefree-like situation, yet this is the simplest solution for
now.

 libavcodec/vp6.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c
index 826b777..c3428fe 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 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_missing_feature(s->avctx, "Interlacing", 0);
+            return AVERROR_PATCHWELCOME;
         }
         if (separated_coeff || !s->filter_header) {
             coeff_offset = AV_RB16(buf+2) - 2;
-- 
1.7.12

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to