From patchwork Wed Mar 20 02:59:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 47260 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8ba5:b0:1a3:31a3:7958 with SMTP id m37csp133010pzh; Tue, 19 Mar 2024 19:59:36 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVfFT0Z/vGADDW/coqSpUbTf17IJKB6P5ltz+rwC8Pa4MAbeWaSCHNV9aR5U6DhS8j2vW2U+RI6moELng4X6PWyILo7wUtj+7XMJw== X-Google-Smtp-Source: AGHT+IGpz5/c1Oc5UsisK1aHABekJCSCz/5+Ymid2ROw5hzOHhjCI7ocfy1psMVC+L11GXVWbGNw X-Received: by 2002:a05:6512:34c6:b0:513:e6b7:d75c with SMTP id w6-20020a05651234c600b00513e6b7d75cmr3059867lfr.58.1710903576049; Tue, 19 Mar 2024 19:59:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1710903576; cv=none; d=google.com; s=arc-20160816; b=i400zCJ1mM8FYHDPNxdfYej+dhwAlXLd+EXF7KkYc9/p9xTXeqbbueSmhwsmipBSQL 0BYZy922IXgozi+WYAmqzhIFtBN7yqDJTXjA4cyjqLJ0s+DCGnXVfOT5Dvt0DejEEtBN TspU0wVKkLn848Vh8yoPfARWSXWK3QwZW9pvFExYrqX1vd0WRzMayNP3m8nph7znZOLz bxz/3bey+SHLysRWWKBiU4bmPAunOHxgqBeUvoKdWmpFoRf2VFNjh3JLCrlQ+RWVRdY7 MA/SNUmpzwyYfHyYTjJbToDakjFcyK18j+5X/kZLPmtDJhN/iSwjNttTWVRnwY7fBipg LBRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to; bh=QLS2Db1x/AD8y4ZTEuupVEEWjslW4t5xbwSr/xPSS/E=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=xDjITD/jt5a4M+qoYsCLbdkKSCsWMqLXREgoInQYu5/pUN+IVE/1eqARFu7ejF+5ZB ffbuGfw1hGKtLy7dbRPhPInb6Z+fhWuzjVZoz8CIGO68CB2ANiokLeFwadh8SsSstCRJ TJFEJkHT50kBbRLmcO9xwqudom0H2fYgYpTqbc9HcKiC48Dyj5ZmbLDplO+/eLwwPR2w aTewF0AX1xycK+Xu5iPggVGO3JE++44k+UKB16OMbJV0nzFOcvDm8plXy8hNrJkxHTMe ciYvj0plLw6KWI+FijsHxgKbxk/yxU+9lIYBybX1W8UM4reoTV5hvOsi1jRiBVnGVBke SI8g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b=cCAMpfmM; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id en16-20020a056402529000b00568a5e13532si5503030edb.334.2024.03.19.19.59.35; Tue, 19 Mar 2024 19:59:36 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b=cCAMpfmM; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 36F7168D2FB; Wed, 20 Mar 2024 04:59:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 24CA068D307 for ; Wed, 20 Mar 2024 04:59:25 +0200 (EET) Received: by mail.gandi.net (Postfix) with ESMTPSA id 56510E0004 for ; Wed, 20 Mar 2024 02:59:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1710903564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc; bh=612VgR5w77vFYUPBBRcLDsZbBPSP11/TdPODtSraAmk=; b=cCAMpfmMEziAZAsUFcd+gWFH/Rcg8N8H5+jPndZwwykHY8yOYCAEGFX4WmgA9X+Pq+vlCm VPL8ECoOQXnmbsch6OpUpiR1i2R4th3y62h2Y00xAkeRpPFljkp+y3y9oNzjHfcvwMmsoN x4QSJO5Gs3AdEu6Unbh0MenpMXDoVIP8CrZ/mtxUqQtzdHFWs9U9qVaQVBW1AnzdMmyrLu 8EQa3Gm+/d9xXkYctivReb1FMZFq1LBpoHwOgIHuWBv0MYSCjLuPRCv2h6eU2uhSGVItU7 R+r4OwP6K0lVVy2g/Swnxjua1ZXqPJVfL0YMeNw9Uqvs4FQJLtc9BHCMXpEZlQ== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Wed, 20 Mar 2024 03:59:20 +0100 Message-Id: <20240320025923.3794-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 1/4] avcodec/jpeg2000htdec: Check M_b / magp before using it in a shift X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: r5u3qKzXzEGD Fixes: shift exponent -1 is negative Fixes: 65378/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-5457678193197056 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/jpeg2000htdec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/jpeg2000htdec.c b/libavcodec/jpeg2000htdec.c index 6b9898d3ff..0b94bb5da2 100644 --- a/libavcodec/jpeg2000htdec.c +++ b/libavcodec/jpeg2000htdec.c @@ -1193,6 +1193,9 @@ ff_jpeg2000_decode_htj2k(const Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c int32_t M_b = magp; + if (magp >= 31) + return AVERROR_INVALIDDATA; + /* codeblock size as constrained by Rec. ITU-T T.800, Table A.18 */ av_assert0(width <= 1024U && height <= 1024U); av_assert0(width * height <= 4096);