From patchwork Tue Jul 21 18:07:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gautam Ramakrishnan X-Patchwork-Id: 21216 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 60BD64490CD for ; Tue, 21 Jul 2020 21:15:30 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4377F68B604; Tue, 21 Jul 2020 21:15:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B940F68B5C3 for ; Tue, 21 Jul 2020 21:15:23 +0300 (EEST) Received: by mail-pf1-f194.google.com with SMTP id a24so11104107pfc.10 for ; Tue, 21 Jul 2020 11:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=RGwmSd05FQoJ6n6RmU6O/wU7DV+op89O8yEeDD9j80E=; b=bO7CS1MMRuQiOKJsOYsD77zFe11gws0DTxaychtk2VhFNVALW3V0B+7waGM0p60HRu 0JwMm895j0shhDsT+gpALV+ktRLPGv7yC8OGhfMBLjiVOgVrsKD8tGN5DkrfrQpatznR pCjAp0k6Ybb8dOHSirwvj6fT4LtllGZSGKyimX03JLw8mSxgR0rTmBUvRBb94L31cWMt 9UZ5GpC55QII5AAh2Ki5rHThUXmQSqzeno+tYA+RJqWowG+jZ5s2VZE8ox8tjB39AKFA DkJokljyXF07bzmmpopZemgcd5aMnfpHaPe4iLWABEhNvpJn3FzwFO7Whnr6Rj74JGPS LNsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=RGwmSd05FQoJ6n6RmU6O/wU7DV+op89O8yEeDD9j80E=; b=AwC/CwI76cYF4j5+Aw5SmR9CgennVCUrqc5c11px1xFgmZKSVfnCbVo7CZdjEfzjks vWkXbxhueENFdiRpN1o48vzYl83Dvbh4Jj/vP6wI3nFbM65EiLAqGPOVzKgHoeveJIea t8ljnTbaw45wDhSqvisWn14ApYGnremZqL8VoflPF52etgj5QNY46w1HIvYQopwY33fF Hdd+cVD5SH/Dla+8Yc3t1VTSgBkxK2M1OqEJ0CIXD2iCULjCBWGHZF3BgR1fOS+2vGyg qm9H9xpH4ahZmEkddXwhZEJqWtwlTPYNLFvw0gb8z1IOtOj3LVlK+QFKdHHeI7iolAtm YGww== X-Gm-Message-State: AOAM532QddvQnIYGoe5ffZW0bqHrp2APxgXOfUOT7AZzrngyJzbmWsVm ettXg17ngoc1LvZ74Cpp2/z9p8slqKujeA== X-Google-Smtp-Source: ABdhPJw4gOmDe599VA/wKYF43kiB5sHnekd/gaELm0QmOIfQQpDWpnTLxCWJulAIJpzdEKDsOqqt9g== X-Received: by 2002:aa7:9292:: with SMTP id j18mr24180047pfa.128.1595354841335; Tue, 21 Jul 2020 11:07:21 -0700 (PDT) Received: from localhost.localdomain ([122.172.60.196]) by smtp.gmail.com with ESMTPSA id u2sm21543700pfl.21.2020.07.21.11.07.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 11:07:20 -0700 (PDT) From: gautamramk@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 21 Jul 2020 23:37:13 +0530 Message-Id: <20200721180715.19237-1-gautamramk@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH v3 1/3] libavcodec/jpeg2000dec: Fix codeblock decode check X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Gautam Ramakrishnan MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Gautam Ramakrishnan The codeblock decoder checks whether the mqc decoder has decoded the right number of bytes. However, this check does not account for the fact that the mqc encoder's flush routine adds 2 bytes of data which does not have to be read by the decoder. The check is modified to account for this. This patch solves issue #4827 --- libavcodec/jpeg2000dec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index f5ad8402fb..5e9e97eb6a 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -1753,9 +1753,9 @@ static int decode_cblk(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *codsty, pass_cnt ++; } - if (cblk->data + cblk->length - 2*(term_cnt < cblk->nb_terminations) != t1->mqc.bp) { + if (cblk->data + cblk->length - 2 > t1->mqc.bp) { av_log(s->avctx, AV_LOG_WARNING, "End mismatch %"PTRDIFF_SPECIFIER"\n", - cblk->data + cblk->length - 2*(term_cnt < cblk->nb_terminations) - t1->mqc.bp); + cblk->data + cblk->length - 2 - t1->mqc.bp); } return 1;