From nobody Mon Jun 8 04:20:19 2026 Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4ED304C81 for ; Sun, 7 Jun 2026 02:56:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780800996; cv=none; b=rwTqNHqK5oKCy8IWEiGzjO/e3097VtTwqOJjoqHEL2B6wG/Gj2yQP1qFiQaqooT1NqghraErj7N/IBPPXZ1SAT0BpFzroioV74lwGKu0i/sXYDAhr+Fr94ptaREadz1ClcZ4+oZlj01gU7nYEUq/ppu2pE49lfrjImPF5ONkhR0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780800996; c=relaxed/simple; bh=lZCYhLpjtIv9yFXKAPImch0CcZ3uVGkSOlB5mr3evjA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rwi4QbbgXaVJuGvAK2+swieDt15J77sbxNBvLFMGNYwzzEtKNmzktr6DXUWFfKWwvaBX4OPnRlfsfI0Xs01iA695jtxlWOuCZIrxbiM0pPHFRD8/0s1mo8aECViunQTok0huTiFrX5nysMldBgqTrvGaTvcH7svRwCz65DCHFFo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=T+cwvByu; arc=none smtp.client-ip=209.85.215.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="T+cwvByu" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-c858b392697so1514963a12.3 for ; Sat, 06 Jun 2026 19:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780800994; x=1781405794; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3IRD15kEjSaFEFvwL8PeAfYR4UwlXFN32tdJ7lhCKUc=; b=T+cwvByu/8vNXIJ+h47fAhf2WFAkxwtOdM5zeck9wGEhMbyzFxYEPzO9utciI5gIDj /bl8qj6B7J4yHf5vuSVSqinxjuJFy8jtk+x2n3J1ep0fFKuWm2dFPKsyQUBZATlWGh6U Jp6xihgJdv15dYJX2k0NskzRbsz3GSVwAIQUBCamNR4UVUnNB3jdjvPp0nVEZDOEsFca VlOtQ/iWhGlgfiMJFNh86w2OfhH3JhHJcFH7WUOQaHPMxpbOvNhflnkfQ/6sVY/GK57b QcXr0jGo/rkElsHaphhEEfXaJWb5WQfv1mRX1rTX70NuGhGTI+PlcckQnruxUVNmvTfD M5tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780800994; x=1781405794; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=3IRD15kEjSaFEFvwL8PeAfYR4UwlXFN32tdJ7lhCKUc=; b=Z8gUYZr3CbpQLImQUzz1WGMausWXv4WcxK61qGit1h7P5zA8a/JGCfS+zSU0dJ7cDU piFHXnnznpVk9PGMuNfMuOS8be5Zkr56zYsl8xB9vITwgM613+UXefZLNWHa0t4dvQev IewpcFt2BEGNDizZ0+iokmPKOlfdCquvc2tQOWeTzoodYzDO8KerMCJzU+t2UFdtTxA0 eQg8bC9JG9apjfzsJiNs/BUd9jTDJ4SEwtSPJcikDqq1JHFpkNHNdUALAhgKJG2cUw1w FbRc7ZtxHH3GONQJdQq8tTC/NEZPtJNOoGmEp0NVvVD8sDso4KKJtlSK3y9DwyJ3jMXT 7Llg== X-Forwarded-Encrypted: i=1; AFNElJ9DuXMJdjeM97mfLJQL2wQ8qSBELS/qlKTB+kM3IrjaDxVwwVPBk9x+IQyOH2mwvLgaMC0tQhw/iTO+S4k=@vger.kernel.org X-Gm-Message-State: AOJu0YzLiCOjwDJ3+I79bv0zfo3fyvJeCdZBmpo7b0cIRBJZnjFdXVZx tCGGOtIvBVANSlWikgpjIGjIHKXQp6p9VA2nLvNyMRIiNsqGZcJb7b6y X-Gm-Gg: Acq92OHO4EaX91waNMr0Fsw5z6grlfZk81GRJp3sooDClyE9C3SYFKmKKf3Jam6Pq1a 82YpmvggfqnXEOKmGTAfJFnaHbyy81YHVmohg5TfL4aKnl3inKx8+yTEj3goulanVgSJIMWDA2p IP8LPf+RgVS35XiOaKm7lBgqGf+jERyfaygledlmCp8z/KWSKB5D8ft0czhaI7jxPbvay35Sr9a nm1xtOdHdVeJ8OBbMu7D72bfaiol2KhxasJyI/yQScY2zUzW6CA1C2JUdNZWyfBzyDLiY24cktp PsCF+PEHocE3jbBtt2pbwXPe94/GTdZqYKz66YSaSErfJqL61iruAeLXjZkRO4XHAJPL6qCps4T Ozb9kN0YwQ/wJD75tq4xmj2BH19g8NKWbyGcXe0nNryuJr5QOAZvRMPXI89Nxa5G/sVUVftI5vm hytl+2Mh08W6HomNXiMohmX7NYveLwaC63vWLAK2A6xCy+vjRINnFM9A== X-Received: by 2002:a05:6a00:2449:b0:842:38d2:a358 with SMTP id d2e1a72fcca58-842b0e3c6c8mr10985327b3a.26.1780800994554; Sat, 06 Jun 2026 19:56:34 -0700 (PDT) Received: from haichao.tail057a43.ts.net ([2001:da8:e000:1206:967f:7ce4:ec98:f08b]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84282918b8csm13034210b3a.57.2026.06.06.19.56.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Jun 2026 19:56:34 -0700 (PDT) From: Ruoyu Wang To: tiwai@suse.de Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Ruoyu Wang Subject: [PATCH] ALSA: ymfpci: check S/PDIF control allocations Date: Sun, 7 Jun 2026 10:56:13 +0800 Message-ID: <20260607025613.3604194-9-ruoyuw560@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260607025613.3604194-1-ruoyuw560@gmail.com> References: <20260607025613.3604194-1-ruoyuw560@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" snd_ymfpci_mixer() creates S/PDIF controls and then sets kctl->id.device before adding each control. snd_ctl_new1() can return NULL on allocation failure, and snd_ctl_add() cannot protect these earlier id writes. Check the control allocation results before using them. Signed-off-by: Ruoyu Wang --- sound/pci/ymfpci/ymfpci_main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c index b9a09568afc9e..2ccb976e68e0b 100644 --- a/sound/pci/ymfpci/ymfpci_main.c +++ b/sound/pci/ymfpci/ymfpci_main.c @@ -1781,16 +1781,22 @@ int snd_ymfpci_mixer(struct snd_ymfpci *chip, int r= ear_switch) if (snd_BUG_ON(!chip->pcm_spdif)) return -ENXIO; kctl =3D snd_ctl_new1(&snd_ymfpci_spdif_default, chip); + if (!kctl) + return -ENOMEM; kctl->id.device =3D chip->pcm_spdif->device; err =3D snd_ctl_add(chip->card, kctl); if (err < 0) return err; kctl =3D snd_ctl_new1(&snd_ymfpci_spdif_mask, chip); + if (!kctl) + return -ENOMEM; kctl->id.device =3D chip->pcm_spdif->device; err =3D snd_ctl_add(chip->card, kctl); if (err < 0) return err; kctl =3D snd_ctl_new1(&snd_ymfpci_spdif_stream, chip); + if (!kctl) + return -ENOMEM; kctl->id.device =3D chip->pcm_spdif->device; err =3D snd_ctl_add(chip->card, kctl); if (err < 0) --=20 2.34.1