From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id A01E64D0E2 for ; Mon, 17 Feb 2025 14:42:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2084B68BFFF; Mon, 17 Feb 2025 16:41:53 +0200 (EET) Received: from mail-vk1-f175.google.com (mail-vk1-f175.google.com [209.85.221.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 246B768B6BE for ; Mon, 17 Feb 2025 16:41:46 +0200 (EET) Received: by mail-vk1-f175.google.com with SMTP id 71dfb90a1353d-520ac2b9b7bso273678e0c.3 for ; Mon, 17 Feb 2025 06:41:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739803304; x=1740408104; 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=Y0KfdTHKsspbad+6Ql7ghiK3G8eMiJRQ0ruGcwi2ys0=; b=HdsxAEXicPoFuGm+4vWtevgGOFxoYy3ocREljs6hm+7YGrpxx09B4JWVR2fTihe2LP smWOOIKJTLsUFVG63SCb7XA5hT2irYhCt+S4DN4eeutxmkbsCFaiGrf6XH8UBPRQ4UeR oeZ5RMb4V6sUteKBuJTBBQ9t/KnHhFrU/fn66yXlDsAIuQyPk3xjK+A7egUvT1EV3fkm 6UAIIVL1q0cIiUv9IYnCfWHbVOLUUvfxSYBOasljxOemJliT4MjNRcP9SZpQPaQWx4IT R7OO0xeaDcNL7fTqZniJYHYEQBwvHrQI5pzVtxfi13TPUFo9XJ3k5cIhxTUx5QGx0V0z tyRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739803304; x=1740408104; 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=Y0KfdTHKsspbad+6Ql7ghiK3G8eMiJRQ0ruGcwi2ys0=; b=OFmu/HtRhUl/u7smNgbEsj7wmWnIBUt6O8BvOTf0xv6Oon0SHAfRp0o/RS8n5Ce6RA C7mSYJBSrJQPLpwKAuHtovtOURThMiUYI1Vs5l4bkqlymjRkqEq4LvcTF0dR1x3BfwKV q5DI49uzG2hfyhbMvWb9OOT4zwi2fme+LAMRsX/npbH8VwaYvGvsHX9BAqfUv0DNWr47 pbrmie7Nx81MUPVCW4ZK0TFT2vAwSBgVrdZLl0Suiq7vCS/h6oJLdx40nGxAc7R+e77a +Vj2oiMuAR4HP9JSxp+F20gTJF3Ygj6OEHcajqcKWdsWs4q8XZDdNQskB2hMbKrQh/cn tcmg== X-Gm-Message-State: AOJu0Yx8Xa14hCNQ8CPU2V6PalRo+GeyqKVcjM0RrMwdPP5NJ+xMSYDr QW8ojgxj/Jil13CO/PhVdfDYQpdeAqgeoPj92ItKpIxCFwSHTjGFetLOgbN+ X-Gm-Gg: ASbGncuhFBkKINPaM4x1YGPxdS3G05J7HFsfGrMgnZdaJSkO3mmdpORAVWqOiitTekm sdfBHcNXXA1wBmyvwWlHQl+Lh5slRkYrzFTI3dkHkaMM8KRzliW1sg6XKToIYE6Iz/c95hRVBSQ dlzazWlFkZ/NB4PgcZmmGyPumu3F9BhY69t3Gtr45YBD8CTf19YMkxpVecaQH8xAogsGh3EYiWk QR7xN9KpmoYvAOVi2ZAdcFgPwshGqQUlMrCLUtLVajvbspkXdnvUEsyzXP6DYqt919RYVSO01St J6ELmXJUYg3wW7tgURobn93DVTv2OlE= X-Google-Smtp-Source: AGHT+IFZRaHI28pG/QGxEQQCXwAmarDs6xOSTbb8knYTrORlZgEldI58LrOki4zgraRmDLr12j1w8w== X-Received: by 2002:a05:6122:8c8f:b0:50d:a31c:678c with SMTP id 71dfb90a1353d-5209da09513mr4546935e0c.2.1739803304341; Mon, 17 Feb 2025 06:41:44 -0800 (PST) Received: from localhost.localdomain ([2800:2121:b040:c:c153:c2d:2095:bfaf]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-521b21de8cbsm119117e0c.22.2025.02.17.06.41.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Feb 2025 06:41:43 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 17 Feb 2025 11:41:25 -0300 Message-ID: <20250217144125.2116-2-jamrial@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250217144125.2116-1-jamrial@gmail.com> References: <20250217144125.2116-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avformat/iamf_parse: ensure there's at most one of each parameter types in audio elements 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Should prevent potential memory leaks on invalid files. Signed-off-by: James Almer --- libavformat/iamf_parse.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libavformat/iamf_parse.c b/libavformat/iamf_parse.c index f71ea5315b..db40ae37ab 100644 --- a/libavformat/iamf_parse.c +++ b/libavformat/iamf_parse.c @@ -752,11 +752,19 @@ static int audio_element_obu(void *s, IAMFContext *c, AVIOContext *pb, int len) type = ffio_read_leb(pbc); if (type == AV_IAMF_PARAMETER_DEFINITION_MIX_GAIN) ret = AVERROR_INVALIDDATA; - else if (type == AV_IAMF_PARAMETER_DEFINITION_DEMIXING) + else if (type == AV_IAMF_PARAMETER_DEFINITION_DEMIXING) { + if (element->demixing_info) { + ret = AVERROR_INVALIDDATA; + goto fail; + } ret = param_parse(s, c, pbc, type, audio_element, &element->demixing_info); - else if (type == AV_IAMF_PARAMETER_DEFINITION_RECON_GAIN) + } else if (type == AV_IAMF_PARAMETER_DEFINITION_RECON_GAIN) { + if (element->recon_gain_info) { + ret = AVERROR_INVALIDDATA; + goto fail; + } ret = param_parse(s, c, pbc, type, audio_element, &element->recon_gain_info); - else { + } else { unsigned param_definition_size = ffio_read_leb(pbc); avio_skip(pbc, param_definition_size); } -- 2.48.1 _______________________________________________ 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".