From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 377B44A2C9 for ; Tue, 26 Mar 2024 02:31:56 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CFE4468D613; Tue, 26 Mar 2024 04:31:13 +0200 (EET) 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 2BC0D68D5EE for ; Tue, 26 Mar 2024 04:31:03 +0200 (EET) Received: by mail.gandi.net (Postfix) with ESMTPSA id 879B8E0003 for ; Tue, 26 Mar 2024 02:31:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1711420262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:in-reply-to:in-reply-to:references:references; bh=3uoYOcxoj+kB0aVGMQj4+Hze7xifHOruXcsegbrDeyg=; b=fItyYVYLTUMs48ORvf4SCZqe8N0yqw3JWmSeTB0BN/1xqCianzS/QIPo/PFwechJgXjITB YgpapqiqdAlmbn6yZlTvK428qkyuhAotRmJIAQURy9GNgTm0ktFhCHg687dQL01JADPBSy 4MhY5b620oFUIHO8+/DZ3ocYlM9fyUZVXp/7u18Osu5SxrCAnseWVeG5DKo3hC3sQNXONW FP4uNdlm+j34807kWSRMv/K8kSgrwyh2BJbNT1T6cMDPW7dQfiMbbqFfsCVNxHchCEODwZ zGEzY00bie9UYiO2oi15kRd+8IdRk7gFawp4pLFJx2F/kWTEtXb5apL87sv2JA== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Tue, 26 Mar 2024 03:30:56 +0100 Message-Id: <20240326023056.20548-7-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20240326023056.20548-1-michael@niedermayer.cc> References: <20240326023056.20548-1-michael@niedermayer.cc> X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 7/7] avcodec/wavarc: avoid signed integer overflow in AC code 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Fixes: 62285/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WAVARC_fuzzer-659847401740697 Fixes: signed integer overflow: 65312 * 34078 cannot be represented in type 'int' Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/wavarc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/wavarc.c b/libavcodec/wavarc.c index 99cbaf01091..aa1af6330bb 100644 --- a/libavcodec/wavarc.c +++ b/libavcodec/wavarc.c @@ -414,7 +414,7 @@ static int ac_init(AVCodecContext *avctx, static uint16_t ac_get_prob(WavArcContext *s) { - return ((s->freq_range - 1) + (s->ac_value - s->ac_low) * s->freq_range) / + return ((s->freq_range - 1) + (s->ac_value - s->ac_low) * (unsigned)s->freq_range) / ((s->ac_high - s->ac_low) + 1U); } @@ -439,8 +439,8 @@ static int ac_normalize(AVCodecContext *avctx, WavArcContext *s, GetBitContext * goto fail; range = (s->ac_high - s->ac_low) + 1; - s->ac_high = (range * s->range_high) / s->freq_range + s->ac_low - 1; - s->ac_low += (range * s->range_low) / s->freq_range; + s->ac_high = (range * (unsigned)s->range_high) / s->freq_range + s->ac_low - 1; + s->ac_low += (range * (unsigned)s->range_low) / s->freq_range; if (s->ac_high < s->ac_low) goto fail; -- 2.17.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".