[FFmpeg-devel] [PATCH 1/3] libavcodec/jpeg2000: fix cblk decode error check

gautamramk at gmail.com gautamramk at gmail.com
Sat Apr 11 09:40:07 EEST 2020


From: Gautam Ramakrishnan <gautamramk at gmail.com>

bpno becoming negative is not an error. This check has
been verified with openjpeg, where the loop ends safely
when bpno becomes negative, instead of returning an error.
This patch must resolve ticket #5630.
---
 libavcodec/jpeg2000dec.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index 9684e57b34..2f6bdeb6e0 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -1622,11 +1622,7 @@ static int decode_cblk(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *codsty,
     cblk->data[cblk->length+1] = 0xff;
     ff_mqc_initdec(&t1->mqc, cblk->data, 0, 1);
 
-    while (passno--) {
-        if (bpno < 0) {
-            av_log(s->avctx, AV_LOG_ERROR, "bpno became negative\n");
-            return AVERROR_INVALIDDATA;
-        }
+    while (passno-- && bpno >= 0) {
         switch(pass_t) {
         case 0:
             decode_sigpass(t1, width, height, bpno + 1, bandpos,
-- 
2.17.1



More information about the ffmpeg-devel mailing list