From patchwork Sun Jun 23 23:01:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 50102 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:ae71:0:b0:482:c625:d099 with SMTP id w17csp1692909vqz; Sun, 23 Jun 2024 16:01:51 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUi/Zuqu8QATEQBTwIDqq+yz43Xk6vxhsENdGEquqXgERUZ3sJKltJB8zXSiXGZUE30uMoTJrmppJNAYBOVRl4WfDILv0pdhNohbw== X-Google-Smtp-Source: AGHT+IGMBcqR1RWcFfNybAd9JpHbotuv7QrJhOQAReJpsx5+U22tRNEdD16PNb1+9bXGndo84riZ X-Received: by 2002:a19:2d0a:0:b0:52c:dcd4:8955 with SMTP id 2adb3069b0e04-52ce183ade1mr1635624e87.34.1719183711414; Sun, 23 Jun 2024 16:01:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719183711; cv=none; d=google.com; s=arc-20160816; b=I74jFTGrUqTPy3h1CsWx8fCXK5kXl5d1lppXBJa/VHiglTUeHCqsugs/j3DOe3OMIh tS4NZg1AWpNCVQLGXFW42dPZ60uB7A55h+r2tmvVYpZUtnyTYV8TFf3xrWr++Snkac5W DTkrisak0JHyHG7A+XBSfZsNM68OQ5Tl1jj5j/RW1eDFFqhxYuqquQSrswsZK0pQUH2y udrGZ4kipmPf6GOiVGwSyA1O8cJPJ1vHg7FK2Gz2UmZL6lImOWsErtOwGKBMHyfuPIG/ liD68AFH7uH8Zvl5bqJFtZ+Fe/6QZuCSU0decANbFXir2z6jA7bn9LepjCaPEbR2wgE0 4syg== 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=OYm3USjYMLbx7yiBaSX3N1UYCyJWNG0hgVO2vzMxSCY=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=KG8LblHx4uL6oh0AdIftl+tkrS9rhCkGuqxXjlGClprUDfrkcZdR5Fnnl28rDimchs lFAPzQe2Lm2mqBfLDmWPP8VsBJLEKP7i48RpyPpj41rPgJTH+SRSXPG/ZSauM6jhFvBo z1h0jJNwCB2dePuvdOFQ0esiVr8B0zlBFDhKocuK25248eiebMKjyj1LZVBN/rIe3JBL xWRItuPxrHdrltFTtJ6WmA5w7UybjJ7mANSUbWc3mish+j9rBxZ49BmjHs0CnO5i40Xx xzu+8oTMmDRCqApIafJ9g6fefdaWGjjeHoRffO81Hk+1fdtdGNsyOxhJ/hSeFrgC9BXG 7BqA==; 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=CcqAO39J; 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 2adb3069b0e04-52cd64525dfsi1739684e87.561.2024.06.23.16.01.51; Sun, 23 Jun 2024 16:01:51 -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=CcqAO39J; 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 A6ACD68D40C; Mon, 24 Jun 2024 02:01:46 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9798268CF50 for ; Mon, 24 Jun 2024 02:01:39 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id C2D50C0002 for ; Sun, 23 Jun 2024 23:01:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1719183698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=jAtDwzaJB5ndsVYwU7Z9kuM29qHjNQDhYhzOTlTBMJw=; b=CcqAO39J/aZ4lLTvVcTkVLj4AWraxrl6NereZGA6Y6oVbP9mlPn4Ro7yoVsb4EK7tVw9CZ dNDTa1R+MTHP/STJzyJhqjac34HRfQYG+ybkVQIWiOpLSw8IcOpz47xbhQ1fO2rlRUSx5b RMbgAjt+VvWx+7s5jB182l+QUy4MoARNKZ2KqtPdXf00YptPdXBu0Eop0COTuhZkPEeyPI 4U01LUcoO1uoxHPiuKbclHHqhC7B60A7Z4vIr06hyQtaE5WJPTJihwgqo+5ig5rkSLIoB9 IwNsoyA1UcHZBCUuKG+RShkBdyVsZmb7MVP5X0sZY8Ao6Rpm8gkSklg4Ri/a9g== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Mon, 24 Jun 2024 01:01:33 +0200 Message-ID: <20240623230137.1749178-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 1/5] avcodec/aac/aacdec_usac: Test ac in usac 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: cXnQEjMCFuRg ff_aac_usac_config_decode() needs AACDecContext to be set but some callers pass NULL. I have no real testcase to implement/test this, so failing in this case seems safest. Fixes: member access within null pointer of type 'AACDecContext' (aka 'struct AACDecContext') Fixes: 69435/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_LATM_fuzzer-5733527483121664 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/aac/aacdec_usac.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/aac/aacdec_usac.c b/libavcodec/aac/aacdec_usac.c index 132ffee9c20..4856c1786b7 100644 --- a/libavcodec/aac/aacdec_usac.c +++ b/libavcodec/aac/aacdec_usac.c @@ -348,6 +348,9 @@ int ff_aac_usac_config_decode(AACDecContext *ac, AVCodecContext *avctx, int map_pos_set = 0; uint8_t layout_map[MAX_ELEM_ID*4][3] = { 0 }; + if (!ac) + return AVERROR_PATCHWELCOME; + memset(usac, 0, sizeof(*usac)); freq_idx = get_bits(gb, 5); /* usacSamplingFrequencyIndex */