From patchwork Fri Mar 22 23:08:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 47340 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1014:b0:1a3:ac71:9534 with SMTP id nk20csp229963pzb; Fri, 22 Mar 2024 16:08:50 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWHG/TCNoD5ZJWcrl4uXd4I5O03U0ovjkysYiEoiECH0FdnxGazpOtB0rHxNXwcsgd4J2jsNYz9003Tq9blq7QavFVhQM21uA0WsQ== X-Google-Smtp-Source: AGHT+IGUmXdhSfpd8LoREBEgCPZxhaiXcUqZng2ZKljZMTW+9e/EKHn6gG6r+sqw4jMymsuhoUM5 X-Received: by 2002:ac2:42cd:0:b0:515:9d9e:7339 with SMTP id n13-20020ac242cd000000b005159d9e7339mr549392lfl.20.1711148930496; Fri, 22 Mar 2024 16:08:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711148930; cv=none; d=google.com; s=arc-20160816; b=nCa9K0f+BykET4qX6TLKEicpXGKClPHnpb2rQq1zG9K7WeGVJZ012sKM9HfXw1wYuR FJs0q2HjepdKIdGiS4k63xdB4aW35hyM05N3S9mQAHNa9S170Z8w4oVKnbg3QdMK7hOS T7Njsn2pmlPLZpQUBvlxj9z8LEPvktpU6hR21uNeRXdISECj/v3rmrxfKVVFIHlTlLnR kFI/lZFy5eRN41xtMCi6HdfNcDjPol9EcJlchgRcJUee8v+7TdxwEUnqmgOiLunJRcCQ mGuGja0bCJSWyQpbDMRgcFukA5Wb8sgmD7l80eWGkxfQ0Wcc8Z/94ya2aWZTfkeCuk5u RXFQ== 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:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=XOKEzAFoJ7w/uisVZ412MEMW6BNMWWUwZJLMJQIrN7o=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=niqCtyfWdOBog4k3HYPrWOi6EcQu2LeFOy4vaakwW9JAdNuR0WQ837aMIChMtEnbI0 YHqBE+Ndsikt4WfgDmYlpVa5rHJgrv/3Y2l1iI1bw0sKR2LWu4oyxszCAVaduKQ1YgHa lGg+xKla/jbYSvFfvlEu7BBEXw0cgAIMxFMuzYSMJU2vkDTQXf/ad6PL/tqVrl+6nJ7X BzdqrVhjkQDWn68PSKZmSQVJ1UfEwm6c5+Q2RBrJXKryFkzCbDbXfv7Sa55ORQvDishh AyBMSSF6ICFd91M0JDuzbnGyEVwKnyMlLV35y8bZhLYN2RqegCXvhdR3vh/Yvb5HcnnB r7nQ==; 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="MeDEp/Nu"; 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 o12-20020a17090611cc00b00a4666bb4878si250646eja.601.2024.03.22.16.08.49; Fri, 22 Mar 2024 16:08:50 -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="MeDEp/Nu"; 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 AF08468D53D; Sat, 23 Mar 2024 01:08:29 +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 C776668CF89 for ; Sat, 23 Mar 2024 01:08:21 +0200 (EET) Received: by mail.gandi.net (Postfix) with ESMTPSA id 3B5A7E0005 for ; Fri, 22 Mar 2024 23:08:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1711148901; 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=+l6P8qJK9N2Bpb58BsZ41TVh0kvhBB6dOaHoRPkKg+g=; b=MeDEp/NufVYcccbumtVRPJ7oLXC1oWWnpgSGmZHGqZWWVYbipW0a+1aQiMxsymMfdQH7dC mbrPA90TZsToFJYYrC67q7+UL7EHAF0d7JjOmIutTi6Vbi8zJBqpXVTGnaq4OtA9BeybO6 WXj2Th9bqSXiKwGZJcsnYqPsJ2GwpMCvHSjqZlqDzndAtvV51utv7fKsqJW0tLtLtBJyyK j62Msl/KjS18IDnluW1O948GLO0dH8AmYWfdcVN47/OD9AYi2NDDpLcQh5U8sTW20+XJgk uEVK1O/72Zb7Z0nPPn922x7CKmZMNxjSHmN91zot6f5b0Ql2Z7nXNUZhMdOkEQ== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Sat, 23 Mar 2024 00:08:18 +0100 Message-Id: <20240322230818.18997-3-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20240322230818.18997-1-michael@niedermayer.cc> References: <20240322230818.18997-1-michael@niedermayer.cc> X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 3/3] avformat/aiffdec: Check for previously set channels 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: LzAaHDkCt6os Fixes: out of array access (av_channel_layout_copy()) Fixes: 67087/clusterfuzz-testcase-minimized-ffmpeg_dem_AIFF_fuzzer-4920720268263424 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavformat/aiffdec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c index 9318943f96..fc01ffcbf1 100644 --- a/libavformat/aiffdec.c +++ b/libavformat/aiffdec.c @@ -106,6 +106,8 @@ static int get_aiff_header(AVFormatContext *s, int64_t size, size++; par->codec_type = AVMEDIA_TYPE_AUDIO; channels = avio_rb16(pb); + if (par->ch_layout.nb_channels && par->ch_layout.nb_channels != channels) + return AVERROR_INVALIDDATA; par->ch_layout.nb_channels = channels; num_frames = avio_rb32(pb); par->bits_per_coded_sample = avio_rb16(pb);