From patchwork Sat Jul 18 11:00:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gautam Ramakrishnan X-Patchwork-Id: 21164 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 476BA447829 for ; Sat, 18 Jul 2020 14:56:28 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 20F9668B759; Sat, 18 Jul 2020 14:56:28 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 72BA268B751 for ; Sat, 18 Jul 2020 14:56:21 +0300 (EEST) Received: by mail-pg1-f194.google.com with SMTP id o13so8000597pgf.0 for ; Sat, 18 Jul 2020 04:56:21 -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=sR/Kkzf7rX02B3eF+4HfpSBa8Mtz6KUp8aH7EszJRy4=; b=L+s2P/2PJxSib6RJQIvv8q8XNCBs5yKa6W5bKBvDtvyTB2mGo9GrjVDHLszguqH3CX EIW+6JR/kyGcpDHfvTXBAX9S41zGRoA0Lg6TvUq2Z4/BHlqsrmjbDbQXXohnMlaQlNlR 0L/KzR9GrawOMkDyAeBC3pN6NlQwpX9hkrPtlMDTLNvXCbN8rH7VTwfKwP4KNBhPIEkf gfVESn3r5PW6u5RhIrfM2m50+CPh5VeJK2f0E1+ffwPtgYnX7I4w8aB94KRJvsRSSpHN N5pjtmevj39BfIdL4Q55EFSmCXHUc0x4cPc0EE2++I526L0yzSPVaWYYpKhoO3+ziuBm 6iYg== 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=sR/Kkzf7rX02B3eF+4HfpSBa8Mtz6KUp8aH7EszJRy4=; b=Koaw9NxHUzqBqcBzNtyXUmIsbu5Q5k3no4SdjoYK0EH+1g5AzqryOgzu+TFwdIwDcZ vp7pKyYJDZFq7zTy4+f3IZ/eVMV9Z0Z3ZBXrx7Slx8JQt5O7GdqAL7HxObE8hVkUJkKr EuufJIJJvwVzqB+7h+0918yDcZyuGRZjeRzjHrHQr/rQSX7Mjqs6B0wwwK/AJ0KonUja kg+zqsGTvRaCACYKnKwI68/BEru3BgvuVTYsQGBGg7uLMZLQvloN5FXP7buPdtgUXH5x 3SgA6e6Wdjj/e4NVe3GzR7THG95GAXUdWSKjCp6dOKNS5J203DSYDYkGf5ZondwAYrK+ L0QA== X-Gm-Message-State: AOAM533dxBAHl4etzSvKkDwNV5p2DmKtftojMJNhhEX3DFpgf1LGw6uA 6s/qfRXtY7jS5cXdJXhIeBQLhJHUetg= X-Google-Smtp-Source: ABdhPJxFdMiJW2JyRQSQ8MC1TlUiiNKcFYE3YSZ3dvmtM7bBZucsh7H5GgwYzJP5GV75hzKbaYKuCg== X-Received: by 2002:a63:f1a:: with SMTP id e26mr12376189pgl.80.1595070052238; Sat, 18 Jul 2020 04:00:52 -0700 (PDT) Received: from localhost.localdomain ([122.172.60.196]) by smtp.gmail.com with ESMTPSA id a30sm10543521pfr.87.2020.07.18.04.00.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jul 2020 04:00:51 -0700 (PDT) From: gautamramk@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Sat, 18 Jul 2020 16:30:45 +0530 Message-Id: <20200718110046.28805-1-gautamramk@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH 1/2] 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 5ea6fd0b9a..5043125fe3 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;