From patchwork Tue Jun 18 00:49:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 49990 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9196:0:b0:460:55fa:d5ed with SMTP id s22csp2265066vqg; Mon, 17 Jun 2024 17:49:44 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWhK4a3p7Ml3IBqrTwoO6ZlpKG8QhX3UO4PzbZkImmQeHWU8ossIuo+EVGMifhXF87m0TcghKTpfQEkv55cb2jWA3xu3S6rGuPJyA== X-Google-Smtp-Source: AGHT+IGmidGufGnNwj8ToKwl9w3cCkdkHBGbVDPIpfpo6Alweu+KxelxPO3eEPLQugXNtT9glF4G X-Received: by 2002:a17:906:884:b0:a6f:9af1:cd42 with SMTP id a640c23a62f3a-a6f9af1ce67mr12400366b.34.1718671783860; Mon, 17 Jun 2024 17:49:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718671783; cv=none; d=google.com; s=arc-20160816; b=t6OcWxBgNlryCJGuaIpdfPTVHmcuxWyHTUGafC+Xy1+oxm18c+EZUDCDdQ0zyBBHyB 0UwqiWEndbxTj3DMRXOJYye1aDg4My6lnTZn62acPjyydovaIWY6Gi2eOQV5A7Ky2ZC4 Ngn4zQ7Tqlww4DJquLv0xI7vxOYwQyrr/xn5ZFOUwzvy6lGjePxfV60mG8wMPU798qXy HgyT1a5F2Mj+4MIzbtsHMZ4HGJ5HCWxbkLoKStP3PcuMmzWmlUzvs4tatYU3DSqZrpUO dq/4Ey00F5cgtFhfw0m4dTsdISmEpxpQktlew5QNPrm9VSjUi8SyoCSCrRrb5ClX0KPr JPpA== 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:message-id:date:to:from :dkim-signature:delivered-to; bh=wFLg7wLvljiPRchu0fCX4VPt3TpCIntkBi+9tQw3AuI=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=b+IoBZAbQgGupwJwjVH8+ww/v7Dq42xZP1McOYMKeyyDqCwnSjLHhDL6JHg8J/J+vd SKjFHLGKDhhOdeKZMDdVYWVDmnF/yRTeailSwif0GdZXEtD1aDKow5Ow+DfLrtNq7AoK RNdPUXryzhKRnvkVzFUH1/NzGWdT/RXY0PMstq+XmcFS8k/11lmtqgMkU6jCpCoOljZJ tg2mn7I0KoGtGg2RXf89+LkBrm3BwiXifKPXxUZM4mq3D4jZvrTVSJ1dNCiGIYZUNApU lh3PfX+JzbF5+qZc9YfEp73ev5XukNz8FZmnHdT/jQwUFypYOKFezVllVyor9i2F1GP+ AUNw==; 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="FS/jks+Q"; 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 a640c23a62f3a-a6f70462d32si293845966b.709.2024.06.17.17.49.43; Mon, 17 Jun 2024 17:49:43 -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=@gmail.com header.s=20230601 header.b="FS/jks+Q"; 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 19D4F68D7AD; Tue, 18 Jun 2024 03:49:40 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 891BC68D30C for ; Tue, 18 Jun 2024 03:49:33 +0300 (EEST) Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-70417a6c328so3760298b3a.1 for ; Mon, 17 Jun 2024 17:49:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718671770; x=1719276570; 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=acghzN+vnjlb6Eu3EdQJFKOuX4Fxl3BjManfTm5LqxQ=; b=FS/jks+QVH9ZcX6vGrGCtLWSrtSefpWuaiDBs71VbY5nqTnzoaX29u7tFgI4UXtNtl FBroe5Nfw5g2bo0BBOnHHERftmQcK9OwP3YGRaa3N30ya5+BjWSTWUiLmhuuTI3wBLmc eM7334/33Im/TtAB9Mq5hDlDPjVLzZd48miuBsB12m6Bh/J48FB6ku7P7ECSG03fBsxN TBmaqTE5IDz2nPVZfNdLLgOCGObXeQTtiBZl3fzgQ1qHPU3BPk8e0uqUmBo9bJgoQ1RC LsepanlRWh/+WVMJhw7gjNV8R3Rn4Gtu1+cx2VsGsCWMyYF2LgrI3L8q5wP4CJNDZuKf Kcog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718671770; x=1719276570; 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=acghzN+vnjlb6Eu3EdQJFKOuX4Fxl3BjManfTm5LqxQ=; b=BCP8SMiJsyaKsU4B6yzmQt31UDzEeBQ3t2x5nPGJXhyBj94cg+lIxDyv9LSpqJu6cc WDUinSm7f0yD7gWig1zp6s9eixzbkltC2xzk/OgrB8Tmzo7Vu2JGk31UtplaoZwwllPL xXYs2JiRBHJHdTl1Lq82BCJa+JLS+glsiSUKVCcDMoFrLRRpRVwaYDSBLU19VX7rcvdm OZsZdJ+OlS7AzOLzUY6McD5b4LXxeY0L1kwxGm4OS3B5Oa4Fmahz5Tzxzji6139sy3Xj i2FxzG9Aw+BehwbrqEsQHpjRTP6AiJpWMEmFLnvaglG7bGuBLUfloibN7/cnxUokVCrV eexA== X-Gm-Message-State: AOJu0YyAHyqclISBGifI7jAxQPSgDwcsbzchO0pAzgXtIlxL/iNBXYkJ ZgTPr1PIrzkuZwgdKCi+yb8Dz9/f2rGLluRXNLB1SWfGb8476Zx+XjziEA== X-Received: by 2002:a05:6a20:3caa:b0:1b7:406c:107d with SMTP id adf61e73a8af0-1bae7f14310mr11181173637.27.1718671770226; Mon, 17 Jun 2024 17:49:30 -0700 (PDT) Received: from localhost.localdomain ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f860bd8f40sm72509785ad.154.2024.06.17.17.49.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jun 2024 17:49:29 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 17 Jun 2024 21:49:01 -0300 Message-ID: <20240618004901.4835-1-jamrial@gmail.com> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/iamf_parse: add missing padding to AAC extradata 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: iIOaVXRJ2p2c Fixes: out of array access Fixes: 68863/clusterfuzz-testcase-minimized-ffmpeg_dem_IAMF_fuzzer-4833546039525376 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: James Almer --- libavformat/iamf_parse.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavformat/iamf_parse.c b/libavformat/iamf_parse.c index 312090b247..ff1b6cc75b 100644 --- a/libavformat/iamf_parse.c +++ b/libavformat/iamf_parse.c @@ -92,13 +92,16 @@ static int aac_decoder_config(IAMFCodecConfig *codec_config, if (left <= 0) return AVERROR_INVALIDDATA; - codec_config->extradata = av_malloc(left); + // We pad extradata here because avpriv_mpeg4audio_get_config2() needs it. + codec_config->extradata = av_malloc(left + AV_INPUT_BUFFER_PADDING_SIZE); if (!codec_config->extradata) return AVERROR(ENOMEM); codec_config->extradata_size = avio_read(pb, codec_config->extradata, left); if (codec_config->extradata_size < left) return AVERROR_INVALIDDATA; + memset(codec_config->extradata + codec_config->extradata_size, 0, + AV_INPUT_BUFFER_PADDING_SIZE); ret = avpriv_mpeg4audio_get_config2(&cfg, codec_config->extradata, codec_config->extradata_size, 1, logctx);