From patchwork Fri Jul 12 20:18:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 50515 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:2298:b0:482:c625:d099 with SMTP id fp24csp1051196vqb; Fri, 12 Jul 2024 13:18:22 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUnhLzh0DB2iOKkGdLLOmKCXa5o277XDswhahkEHc663hhSM1+GS5KE56wsdLpy09jjTW2ciQhvs8VXrgfDTKpHcd+xGKC9z7VPOg== X-Google-Smtp-Source: AGHT+IGrF4IL62/uo5fwyWt7VTOvVoGSbdydfn7PhjFSp1ROrzSXDNOsPeE50apgwxSZssg2LJT6 X-Received: by 2002:a05:6402:11cf:b0:59a:ac4c:9231 with SMTP id 4fb4d7f45d1cf-59aac4c950cmr457289a12.29.1720815501936; Fri, 12 Jul 2024 13:18:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1720815501; cv=none; d=google.com; s=arc-20160816; b=CP9BUSnxj3f8A5ToVCm+oRcQgbrEVo0jc1futogxkmXF4wqdxTVB4UGSkQqdjLcpqv i5wvWwW3DIUv7rPSZojQ3Q6LkDHxwlE4mMwDUjjtBk8wdoxTo9xmnnZgBq6M56dJTwQb EVxJ0sgbBrfv/ROfzSCo+hZTvEQL7GOdFIgGLi5caGZscm6zeGwr/xNsvf4ZAC77XsVB J9LuEwPvluvorFtMEEtE+k2BiUdEUHbdzW04Qwnjznb7GiyX2lToa0meGXVievyQkH0P nTUImmqPf4LkvoJpg/qsKCeaN3q5hMcUaJnyaNoqy0lvKWQSHB+qAM4ZOxp2UNQtb/M4 q6Cw== 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=ItZQ+m56+dq8tFPfIyG//uaJL65/8HJC/cFNq1kZu6g=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=zG1f/5otITN5HSFa1FhV392BAYoOts0HQt4cJB+kjIu7IvCJPELqdErydmWR/T/LLh +E3caPXkvypdY9cGwjK1/RBgvNUP1Xkfhe8xJUPVo5IvEMARSJgyiAO24l9RCHyXtnUl iZ+ub0BJHPztVQw0dI8nHNiJ3oLdVd5mTU4SUNCnuOfEuaG8Ew1VIYBgJhMQ2EtB6dbE 8WLl2+22HZ1WpzBqAg3i5u49PINyoskrreLlYFyMgAQQwthsmNVJwgDDEp+5EHK9NWxS 5BMPnUQ5UgEbVDRDLGh2SmsOxgEZrJAkmXRNYPQNouiI0hAEwpVjP8RQy8pbR6TgXKJg XkOQ==; 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=QFcfkbnN; 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 4fb4d7f45d1cf-594bbe2ce0dsi4801616a12.70.2024.07.12.13.18.21; Fri, 12 Jul 2024 13:18:21 -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=QFcfkbnN; 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 55F5768DB38; Fri, 12 Jul 2024 23:18:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 18BB468DAF3 for ; Fri, 12 Jul 2024 23:18:11 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 4B4A41C0003 for ; Fri, 12 Jul 2024 20:18:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1720815490; 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=QgWq2GFHH/CnmyoRTFl7oAav3htQmuYituBn2cYwPRo=; b=QFcfkbnNDwk58knLmFHZB3Ejp3Wwnti6eophWt1DVfZIxIahrRvU1BG+zZtZ71zcAW7XmX Jg4PHxIki/iErbwdhi+JXn2vli0OWeoMnKGWdtQMAyJRJrfbBCLG6KqWCp+c9AOi+FZiHa EsaT48g1/IXgYEYw0jypJuTL4gImjEvL14EaO6gIUjbs60Hg4V9t20UsYIz5luV2VSGnML ONWPMyHFnCFko/liggkKuToLKczSHYIxGit0HEcfD5JWuSVMu9XLNZB0Jiwwqr51F0EvXy lLD6rElQ2MMvLHVvAzsJH/tLrnuqywBpcU3kggZzBA7a3BqYa9ScDmnvBwklQg== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Fri, 12 Jul 2024 22:18:09 +0200 Message-ID: <20240712201809.609209-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 v2] avfilter/af_surround: Check output format 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: y+sDZrvBmJCE Fixes: CID1516994 Out-of-bounds access Fixes: CID1516996 Out-of-bounds access Fixes: CID1516999 Out-of-bounds access Sponsored-by: Sovereign Tech Fund Signed-off-by: Michael Niedermayer --- libavfilter/af_surround.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c index e37dddc3614..d42a23b8ad2 100644 --- a/libavfilter/af_surround.c +++ b/libavfilter/af_surround.c @@ -1123,6 +1123,31 @@ static av_cold int init(AVFilterContext *ctx) s->create_lfe = av_channel_layout_index_from_channel(&s->out_ch_layout, AV_CHAN_LOW_FREQUENCY) >= 0; + switch (out_channel_layout) { + case AV_CH_LAYOUT_MONO: + case AV_CH_LAYOUT_STEREO: + case AV_CH_LAYOUT_2POINT1: + case AV_CH_LAYOUT_2_1: + case AV_CH_LAYOUT_2_2: + case AV_CH_LAYOUT_SURROUND: + case AV_CH_LAYOUT_3POINT1: + case AV_CH_LAYOUT_QUAD: + case AV_CH_LAYOUT_4POINT0: + case AV_CH_LAYOUT_4POINT1: + case AV_CH_LAYOUT_5POINT0: + case AV_CH_LAYOUT_5POINT1: + case AV_CH_LAYOUT_5POINT0_BACK: + case AV_CH_LAYOUT_5POINT1_BACK: + case AV_CH_LAYOUT_6POINT0: + case AV_CH_LAYOUT_6POINT1: + case AV_CH_LAYOUT_7POINT0: + case AV_CH_LAYOUT_7POINT1: + case AV_CH_LAYOUT_OCTAGONAL: + break; + default: + goto fail; + } + switch (in_channel_layout) { case AV_CH_LAYOUT_STEREO: s->filter = filter_stereo;