From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id BE61A4DE21
	for <ffmpegdev@gitmailbox.com>; Fri,  6 Jun 2025 00:14:49 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 3E2B368C07A;
	Fri,  6 Jun 2025 03:14:47 +0300 (EEST)
Received: from mail-vk1-f172.google.com (mail-vk1-f172.google.com
 [209.85.221.172])
 by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 3D61768C02D
 for <ffmpeg-devel@ffmpeg.org>; Fri,  6 Jun 2025 03:14:40 +0300 (EEST)
Received: by mail-vk1-f172.google.com with SMTP id
 71dfb90a1353d-51eb1a714bfso1094369e0c.3
 for <ffmpeg-devel@ffmpeg.org>; Thu, 05 Jun 2025 17:14:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1749168878; x=1749773678; darn=ffmpeg.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=qiuwNyroUoXR+WoF8eMmbbEBWMx8WBQ0MnLN0G05miU=;
 b=Y+GLBpx9C37tHHcgBOBxE1w3R7ep/C1ta0jj1hm+pv4lKUL7RzFi7Mtqd2AkY2BbyV
 LWH4ODHWq28e45T9kqPpl6icgO94NBnsuGkGL0tLC9RVFcJr0CkYGEpV6yX9MBcqUooL
 Gn74CijyOk0+koj/7VClQhUynEQTgGagObFNMIqYO/9/W7tGqxxVdWAgLyKVeLSvfFGP
 AybKS6T7U56rhwyIMXSI1SKkXh5v4FdGNWnk5p9M2ktozY+FJVp0TqcxebuEy5W2zbTv
 T5lO113p1p5dzrbVYA86mDv/OgA76q3xlI1OecNGVXaUT9hCQSJxFtoY/7GmP72l+Uj0
 sqiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1749168878; x=1749773678;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=qiuwNyroUoXR+WoF8eMmbbEBWMx8WBQ0MnLN0G05miU=;
 b=iglLhO1/ibQhEL74sSrLGVXoNweR/BsBEgdjjufOAJCAkdHFrRr2XPhrrINBci8zpe
 f6j33eOL2jejMTE7HgGPabxPtFTjNf69ADn4Hp5NuZsHJC5DDh56CTA+x6KWjQeGPujY
 Tme4uDqJJcW+L4GSuqdsHXpyx6K9JqfWLCK9Nc2uuH4TmZfMiQWp1Zo4Cl+p3XZK9GRo
 0RvvT1+SECx40o632ZmgeRUptOFobbJpkMa57Qlfmgt8mq0YJknfH3/xjteH6I9YGXvw
 TNRO5+Jd/9tJUHUgs4PlXIYMQfgg0VVZao8xhlmSFTv1TQ/hJ+awLnzh+VB7jOTA//P3
 j1IA==
X-Gm-Message-State: AOJu0YzWr9cBHONMTy33QMfGkuWzi7AG4GqePoypvU5b7gyQ7OoHKE8c
 S3I963HESW1fnWlezCT7amSJwlhbrtQMjV47cZSVvfQHPBH51AwGIwAFkrkwRw==
X-Gm-Gg: ASbGncttF0lpbYUzX6jZKekx9QqXhUEpaoScJULxXCjigXAOwAh0hf2TlFogv5d2/Lf
 p6Q928ozR/GUQqnv8Vh0vHk0YoS+w03e+xTbKxkVzdN7abF2zfDumtjA+lbk5SXAp7kNFnY8FtG
 QrmVeWECd7TgNVpZTk0ZT7xPHa2G+EHztD0XaUSvTbsh2YdPm3uO7OnEKNkzbUvcnGUDE54xbJV
 EASGb3B6cOipQLlvLfYeinXkfkFod9mmIQreflV6BvCz2MaUuVhn5cfI8OE3dc3OFTCo1ieTmWx
 pUB/ybKhbAhcW2g1kczfqLlk5WlJLawVUixAe7Wwq+9im+ovNFIXSeqUJRC7KI9salHad6wnKDM
 v2IJChg==
X-Google-Smtp-Source: AGHT+IFjp6qwjKUy8sVQnQ2gnqDE7hMRDIbl54kTQBYaDFvrlWo2LY8VSCx+fgeqvoE2epymaszm8g==
X-Received: by 2002:a05:6122:2513:b0:530:7011:306d with SMTP id
 71dfb90a1353d-530e48d2960mr1768225e0c.11.1749168878014; 
 Thu, 05 Jun 2025 17:14:38 -0700 (PDT)
Received: from localhost.localdomain ([2800:2121:b000:82e:287b:4d06:66a8:d1a5])
 by smtp.gmail.com with ESMTPSA id
 71dfb90a1353d-530e640ad09sm339169e0c.32.2025.06.05.17.14.36
 for <ffmpeg-devel@ffmpeg.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Jun 2025 17:14:37 -0700 (PDT)
From: James Almer <jamrial@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Date: Thu,  5 Jun 2025 21:14:14 -0300
Message-ID: <20250606001417.143552-1-jamrial@gmail.com>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH 1/4] avcodec/ac3_parser: use a padded buffer
 in av_ac3_parse_header()
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250606001417.143552-1-jamrial@gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

The GetBitContext API requires the buffer to be padded, and the documentation for
av_ac3_parse_header() does not specify it, so use a temporary local buffer.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavcodec/ac3_parser.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c
index 69989690dd..9065d700e2 100644
--- a/libavcodec/ac3_parser.c
+++ b/libavcodec/ac3_parser.c
@@ -202,14 +202,24 @@ int av_ac3_parse_header(const uint8_t *buf, size_t size,
 {
     GetBitContext gb;
     AC3HeaderInfo hdr;
+    uint8_t *tmp = av_malloc(size + AV_INPUT_BUFFER_PADDING_SIZE);
     int err;
 
-    err = init_get_bits8(&gb, buf, size);
-    if (err < 0)
+    if (!tmp)
+        return AVERROR(ENOMEM);
+
+    memcpy(tmp, buf, size);
+    memset(tmp + size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+    err = init_get_bits8(&gb, tmp, size);
+    if (err < 0) {
+        av_free(tmp);
         return AVERROR_INVALIDDATA;
+    }
     err = ff_ac3_parse_header(&gb, &hdr);
-    if (err < 0)
+    if (err < 0) {
+        av_free(tmp);
         return AVERROR_INVALIDDATA;
+    }
 
     *bitstream_id = hdr.bitstream_id;
     *frame_size   = hdr.frame_size;
-- 
2.49.0

_______________________________________________
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".