From patchwork Sun Feb 25 18:44:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean McGovern X-Patchwork-Id: 46522 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c51b:b0:19e:cdac:8cce with SMTP id gm27csp996483pzb; Sun, 25 Feb 2024 10:44:57 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWXIwImz4Lv9GToA5dndITkO6+3CFiaERi1Qy5wYbYSsnEFo3nb0kPId4riF6Q8rVv2MrlUQFem2D0NAR1LByPTqfS9deuS3EDkAg== X-Google-Smtp-Source: AGHT+IE61pDDpxA4k5rJ7wOr5WJjZL8gweme80pxGWXj1+GAqY5tGMMUoQui19BuTGGKQXsBGiW7 X-Received: by 2002:a17:906:1949:b0:a43:3b2:bcf8 with SMTP id b9-20020a170906194900b00a4303b2bcf8mr1756842eje.10.1708886697105; Sun, 25 Feb 2024 10:44:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708886697; cv=none; d=google.com; s=arc-20160816; b=pcxxdsJ9992+B7UrNgZPwSJdSfTFsZSvL8h1twSRBnzjR0PVP09VHWgIOTxwaYGhRo CoRyNeM+s5FpzbUixqlZu8VVlnajHpnia93dncWCJky1hgGGz08DClUneI/9hbjX4q7X qnEVURkdKoLXHf03ie1fPwXQjTfj0sHiFtHHl4mS90xQno2QXob0YedcOkxWEfXQcwK3 412Nf9Enx/Md0mXeRhBfBD+lSQJf6gztUI1qtRbz4geVR2InwHSPVKT3VCP9p8AgZYAl 91zDMf/jPCuhpGrLk1c64A4EFAk2Q1qFJnnC2S+5vGoOjMq5zcS6/sTyQIwPjwUujnKz qNJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=m8OziESPO/+FU+0ZoZv6eaoNRjYNn56HtVTFnxzkiaE=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=OWokD3OZuCQwTRO+t/rgYBUb2HkYi34WKhIxTb3V4ae/Hz/othi2LHngSR8YFMpbtW nZOqI4/ooaKQVx9a9t0jyphTcv4yR/zUNQZS8uEYsVwdUD+VBsSM/59erFsPlDxFoTFH YW1UjdviEyh/t/wXq87NGGiEda816nJwfI9vf/u9LSPXmzWDRVj62/qBKbB/ztHLd4+P sEb6ityKQC9Yz/jQKXx4JU2Vv3ErdtulsDFs8aL0DWSFx0L6DL6HHrcW6MIIDhDZ1Vwz bJzjVf+yiBgZwlsHqdB/D7O2bNxFvlpTsgQwJ1ANNdc1dbxjD/mYkfvl0/RjVuxBW5Dp Adeg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=mrWSKWzK; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id qk34-20020a1709077fa200b00a430bc309efsi964055ejc.482.2024.02.25.10.44.56; Sun, 25 Feb 2024 10:44:57 -0800 (PST) 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=@gmail.com header.s=20230601 header.b=mrWSKWzK; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 06C2D68C769; Sun, 25 Feb 2024 20:44:48 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-yb1-f178.google.com (mail-yb1-f178.google.com [209.85.219.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 120B268BF87 for ; Sun, 25 Feb 2024 20:44:40 +0200 (EET) Received: by mail-yb1-f178.google.com with SMTP id 3f1490d57ef6-dcd9e34430cso2543956276.1 for ; Sun, 25 Feb 2024 10:44:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708886678; x=1709491478; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=GtJlEafoOBoMr7qMLUl2+IH7XCW5GtvnUZm8T5phIog=; b=mrWSKWzKEdVIZFs4zU6f0m+LsLVkpYeXNGhJKe7PDdJ8rgQW9Y6rm/TII7m2dh1R9s tFPvb4vL/aZxGALlFERn9IsWCJEHoCg//dYnZaPhnsRvOJMWt8nOC5T1Udo6lGsOL6o3 sGrEwvBoJZFkTGRFJ9tnjcai+8BNSHVVp9IFULbg47CJs8YN3oAKPzHpXHpHlxr+mQHA bIsMF3E4JU1vvKpHTs2u6UakGCxS+aD16M9SzkXH+DAnxRnWDXahwYmuB4y45CF1hVla mbxNGv8x5J14G/9bS+gbgEQaHVy8+utA8cW2hz85g3a6zBBgIaFTKjIJGgSjHvGRR9bm r/wQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708886678; x=1709491478; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GtJlEafoOBoMr7qMLUl2+IH7XCW5GtvnUZm8T5phIog=; b=cu6D8VAE9rzUtDBDzwr0Gf0CK3FB0d+m7aPN/jdYtxlibIERE+cyaLQrv4Ba1eunVW +xZAG0Z8cTIC1S4wI9huYJy/Ev1hHDv2hFcO/aQsze2Cp09vsmy+/oIGTSgYxGz/JCqs PKOahyX1FYopJimZaGdcgxM+Jd1eF4BRGSWQbv8or40+GKeFAQ/C1RpWD07jsc0pKRnW aERd87zQmNQZ+4rUYCeOiP0SNRK0lSFNpJ2zGQxN0zSphxZEqHvGK5bodKat2GZU4HyH 9YCoYoRBOqtDWmubSGLG60eKT+Pyr3GCWqdqPNtg4wFnaX+lo3cJFRUYqFtIgFmps/n7 SRTg== X-Gm-Message-State: AOJu0YwoxZzP683JaABPd6ZM7kVSNfdJFgemE4wGjdG2zrcSATXGlBM7 vWoFaMBodzSA3nM9xiII/j/yWxvZnpXpnPUMYDYeTm/2tpsCLn4bFlrnjrux X-Received: by 2002:a81:b203:0:b0:604:a75:4274 with SMTP id q3-20020a81b203000000b006040a754274mr3900804ywh.51.1708886678286; Sun, 25 Feb 2024 10:44:38 -0800 (PST) Received: from elysia.seanmcgovern.ca ([2607:f2c0:9307:7100:48:9add:e8c7:742c]) by smtp.gmail.com with ESMTPSA id l37-20020a81ad25000000b00608d55efe59sm791941ywh.112.2024.02.25.10.44.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Feb 2024 10:44:37 -0800 (PST) From: Sean McGovern To: ffmpeg-devel@ffmpeg.org Date: Sun, 25 Feb 2024 13:44:29 -0500 Message-Id: <20240225184429.2962707-2-gseanmcg@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240225184429.2962707-1-gseanmcg@gmail.com> References: <20240225184429.2962707-1-gseanmcg@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/1] aacenc_pred: prevent UB in ff_aac_adjust_common_pred() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: jh8P1qUl9YZj --- libavcodec/aacenc_pred.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/aacenc_pred.c b/libavcodec/aacenc_pred.c index f87fcd5a00..d3efade85e 100644 --- a/libavcodec/aacenc_pred.c +++ b/libavcodec/aacenc_pred.c @@ -162,9 +162,11 @@ void ff_aac_adjust_common_pred(AACEncContext *s, ChannelElement *cpe) sce1->ics.window_sequence[0] == EIGHT_SHORT_SEQUENCE) return; + const int num_swb = FFMIN(sce0->ics.num_swb, sizeof(sce0->ics.prediction_used)); + for (w = 0; w < sce0->ics.num_windows; w += sce0->ics.group_len[w]) { start = 0; - for (g = 0; g < sce0->ics.num_swb; g++) { + for (g = 0; g < num_swb; g++) { int sfb = w*16+g; int sum = sce0->ics.prediction_used[sfb] + sce1->ics.prediction_used[sfb]; float ener0 = 0.0f, ener1 = 0.0f, ener01 = 0.0f;