From patchwork Sat Jul 18 13:16:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gautam Ramakrishnan X-Patchwork-Id: 21168 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 A9D61446AC1 for ; Sat, 18 Jul 2020 16:16:39 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7E0F868B74D; Sat, 18 Jul 2020 16:16:39 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AD97368AF66 for ; Sat, 18 Jul 2020 16:16:32 +0300 (EEST) Received: by mail-pl1-f195.google.com with SMTP id d1so6630533plr.8 for ; Sat, 18 Jul 2020 06:16:32 -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=BRPEvqk8M0v6xJRHs685oRGJLtWk1GKoIu0Kc5aUezuR+lDAJk62BnN0h3+2wjE54/ /y02jNImKybHaEgPmW1YPbkd+fdxPhWwXIXU539SL2jAmQmL1dw8Fl2ujY7c+lwMcqls FzikgMLzCQd3t4bZ5WjmkN/hCoz1Uv3+LO1IfNNzKoENgKNX/AgdBH+rlXHROwedPKQE X43TZ00jRHwELZsKEDGyEfNP2DxTvu68hmj00s3AL3Y5FUEu7D1GtCoC/XtdNKKA0lno J+NBlvFh8DMeO1MkJLi/qV0q8TxI6blw+i3A8AtbfjiZgHqlp4DlLJ+gB0i8INupM2b7 oZaQ== 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=D86qIKkBsKEwfeVNU+8T9RyukRVo+ahOiyQJuY/ozBU+ztdI2IXPQR/01e0ih1iSna qhR5o4Bb9xHJ4XgW74lVpuuXMq6C43m4Lvx6z7htPsOLIswV/81O/riQ6p1KxQOVaJcr nN4A8uG9Tqn//SKUvHTtnZxKxuV+j1OLGggaAXwGUBx4EvPXo2rvTT8LZ77CMcVexhjt Elmh8tlvFBoQselQFud19UgnAW+5DEb8HsRL3CijCG6jdP90jxStiI7cPiKsh8KH5dnj o6/sd4qekRXM/9TFv7mnDor5ZpwPVGCDNgN4QOL9AF0jmBX99YpnFZAa/DiriKNYp6kq KJCA== X-Gm-Message-State: AOAM531NZ+xUi5tuAA4VAJueCmj8P649fKAURCx3AASmYXXg863r4bry iBfUWA/IRp9zS2wP10KbO7PogXsOKwo= X-Google-Smtp-Source: ABdhPJwMfQM3C+6AjfV8HkFw4vRxJv2WU50dJyIEiVIjwjcrKqwedfYS8Kep4EWhgwjTnetWbDiA6w== X-Received: by 2002:a17:90a:334c:: with SMTP id m70mr15293940pjb.88.1595078190568; Sat, 18 Jul 2020 06:16:30 -0700 (PDT) Received: from localhost.localdomain ([122.172.60.196]) by smtp.gmail.com with ESMTPSA id z10sm10913495pfr.90.2020.07.18.06.16.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Jul 2020 06:16:29 -0700 (PDT) From: gautamramk@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Sat, 18 Jul 2020 18:46:20 +0530 Message-Id: <20200718131622.6234-1-gautamramk@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH v2 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 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;