From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 9923D4F386 for ; Mon, 23 Feb 2026 21:59:05 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'viqUg7tMOujLSeOf0LtOCjVJDaTY5ugxAeU+ZlSeDpo=', expected b'QY8sm8broE+Mn308dpHMMCTPZRCu0/zJDy0pYIwgPdg=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1771880371; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=viqUg7tMOujLSeOf0LtOCjVJDaTY5ugxAeU+ZlSeDpo=; b=h5EBjWkSDipItGL3e1eQX7DrJvAt3wmSQyrz52SO008luDuo5sPk20MxtbvpdJbf57WsC d7r5xMhGa27o//bQtKcc9J3zDIBc/LaN1LVe/DRE6wpa8ctbxeSu2ZBB2BzLzpON4hPUs9Y niceGAkrSmKZsyWj7byvLZ/xeSIyPa1HlPgxD+4exqwyuQ9RJ2+95SJKHej8bp9m92ghhcS ZrGSiON/jLnnHNyYSA5Fno6ZYdrpTr+MbAG++Anu4GNRmCv6tq2LSZqeIB/inwG8eUvxZkw rilCFmCLz7pcZGkb0PZZ4iGXrba+8P2L3evFumH1Kr6Qni++ZaR95ZTQg3rQ== Received: from [172.18.0.3] (unknown [172.18.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 6F22B69110E; Mon, 23 Feb 2026 22:59:31 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1771880358; b=HpGFcCx63DcYq6oThm75JXYV8f+YM7ouaHKhRMEnWIX+bPA3t7tF/7merXTG2bNXGlo++ Mhdz3zpul6aB6IKnKBf2q0InKskCLfPf4hPvtIIS3Eiqo1x8JhZp/ENdGFZ9Edz5L94ZoXs voc83bg0YfMPNIfWQps/TdMDNl6/TZevphdEpF95EXkGjVbFYzllNTO4PR2AP7J2FKERJPF OVA1s0/HVrrjKWiJFHebSsg2SRaUjCG98HvdC442S7wAvUAq/MbyqxavwQr4XyAeFTOsFP3 aCriJh0vJJhUfSLMzuH+DVgt4e3fx305y9jnSMd2lvTiotDLuqzzUBK0m28A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1771880358; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=Kno9PadXQYD3T4yquun/Fn0rOy1qiNG1VNuE02YNJ80=; b=XliqXXkVjUT5aSJb+QMjt+UisR7Yru7K/V+aFN9C6+qfAOze9PaLphJJAPMehNVWJ2Y9h zIddVNIIowbjYvzrDBst0aBn06Pst1Ij8k2/cAyYbL+4IQLpN7NmtCrBM2/IktOg8HIzKP6 0qVUPjut4kq6Op4+u1XOxE1vrvCdD4X2NJuE0BrdxO2huVWp7C5fIYLhVr6nnJNwegM/XTN cwbIWCOMLNT5XAS9SZtjJUbGbL55rKUhxII4l0D8A2+LwvgoWp1lryDpM56bOtEDVgMAWLM XbXtSsoATzeMACFVD1VOf8bQHNlYQ4azwtPwpPKXrOQNt5uxQsd/DUq6IgBw== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1771880350; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=QY8sm8broE+Mn308dpHMMCTPZRCu0/zJDy0pYIwgPdg=; b=0MIMSHhqO1kK+oh2Msr4/9VLGwgG+icMnAPts2Ne6kbrZgX/I7O+h50S1qdrsCiZNfGjF DuGu3OzPTFTjolSFcvBYzLaDtQQF9fualxgA3uCaUF/kDKOPz59iyZRBdxn6ZE7gK6UdjLI oWnIlNhY3RlsYuguG1xBfiniict3hXiN+p4WMoms5IZVYMmZ4bt0dtndmKTr9myoRIiaCPf rp5emLHIpLRHKpzFQoEtqcygd8uRbiAOsQ77VZ58a24/GXDDAa+g/mXTlSdBDkZZ+IJcS/H GQ1cnGrLPm+gDbNyd4z+acWoCcrkjQPjOfGUj95sXb7duy/lkOhR3fv2yr1Q== MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Mon, 23 Feb 2026 20:59:09 -0000 Message-ID: <177188035008.25.7588412342955038446@29965ddac10e> Message-ID-Hash: 64NNFFI2BFNMX6KHBFQ2MI3YQFENMEPQ X-Message-ID-Hash: 64NNFFI2BFNMX6KHBFQ2MI3YQFENMEPQ X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PR] avcodec/utils: fix duration computation based on frame_bytes (PR #22267) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: michaelni via ffmpeg-devel Cc: michaelni Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #22267 opened by michaelni URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22267 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22267.patch Fixes: signed integer overflow: 256 * 8396351 cannot be represented in type 'int' Fixes: 482692578/clusterfuzz-testcase-minimized-ffmpeg_dem_SWF_fuzzer-5865521093607424 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer >>From 779356c68ef51c8317c8278c41496a58b784cd4a Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 22 Feb 2026 17:30:32 +0100 Subject: [PATCH] avcodec/utils: fix duration computation based on frame_bytes Fixes: signed integer overflow: 256 * 8396351 cannot be represented in type 'int' Fixes: 482692578/clusterfuzz-testcase-minimized-ffmpeg_dem_SWF_fuzzer-5865521093607424 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/utils.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index d89e886a08..c2968754e7 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -641,16 +641,16 @@ static int get_audio_frame_duration(enum AVCodecID id, int sr, int ch, int ba, if (frame_bytes > 0) { /* calc from frame_bytes only */ - if (id == AV_CODEC_ID_TRUESPEECH) - return 240 * (frame_bytes / 32); - if (id == AV_CODEC_ID_NELLYMOSER) - return 256 * (frame_bytes / 64); - if (id == AV_CODEC_ID_RA_144) - return 160 * (frame_bytes / 20); - if (id == AV_CODEC_ID_APTX) - return 4 * (frame_bytes / 4); - if (id == AV_CODEC_ID_APTX_HD) - return 4 * (frame_bytes / 6); + int64_t d = INT64_MIN; + switch(id) { + case AV_CODEC_ID_TRUESPEECH : d = 15LL * (frame_bytes / 2); break; + case AV_CODEC_ID_NELLYMOSER : d = 4LL * frame_bytes; break; + case AV_CODEC_ID_RA_144 : d = 8LL * frame_bytes; break; + case AV_CODEC_ID_APTX : d = frame_bytes; break; + case AV_CODEC_ID_APTX_HD : d = 2 * (frame_bytes / 3); break; + } + if (d > INT64_MIN) + return ((int)d == d && d > 0) ? d : 0; if (bps > 0) { /* calc from frame_bytes and bits_per_coded_sample */ -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org