1
0
forked from pool/ffmpeg-4
Jan Engelhardt 2018-10-24 09:11:22 +00:00 committed by Git OBS Bridge
parent cf0e3709c3
commit 4926fa7c44
2 changed files with 27 additions and 7 deletions

View File

@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9) # license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative. # published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #

View File

@ -1,13 +1,33 @@
diff --git a/libavcodec/vc1_block.c b/libavcodec/vc1_block.c From d08d4a8c7387e758d439b0592782e4cfa2b4d6a4 Mon Sep 17 00:00:00 2001
index b06ee9f..5b38183 100644 From: Michael Niedermayer <michael@niedermayer.cc>
--- a/libavcodec/vc1_block.c Date: Thu, 28 Jun 2018 23:46:32 +0200
+++ b/libavcodec/vc1_block.c Subject: [PATCH] avcodec/vc1_block: Fix mqaunt check for negative values
@@ -188,7 +188,7 @@ static void vc1_put_signed_blocks_clamped(VC1Context *v) MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes: out of array access
Fixes: ffmpeg_bof_4.avi
Fixes: ffmpeg_bof_5.avi
Fixes: ffmpeg_bof_6.avi
Found-by: Thuan Pham, Marcel Böhme, Andrew Santosa and Alexandru Razvan Caciulescu with AFLSmart
Reviewed-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
libavcodec/vc1_block.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: ffmpeg-4.0.2/libavcodec/vc1_block.c
===================================================================
--- ffmpeg-4.0.2.orig/libavcodec/vc1_block.c
+++ ffmpeg-4.0.2/libavcodec/vc1_block.c
@@ -188,7 +188,7 @@ static void vc1_put_signed_blocks_clampe
mquant = v->altpq; \ mquant = v->altpq; \
if ((edges&8) && s->mb_y == (s->mb_height - 1)) \ if ((edges&8) && s->mb_y == (s->mb_height - 1)) \
mquant = v->altpq; \ mquant = v->altpq; \
- if (!mquant || mquant > 31) { \ - if (!mquant || mquant > 31) { \
+ if (!mquant || mquant > 31 || mquant < -31) { \ + if (!mquant || mquant > 31 || mquant < -31) { \
av_log(v->s.avctx, AV_LOG_ERROR, \ av_log(v->s.avctx, AV_LOG_ERROR, \
"Overriding invalid mquant %d\n", mquant); \ "Overriding invalid mquant %d\n", mquant); \
mquant = 1; \ mquant = 1; \