From 536dd6f8affdf5197c12a63a71c92a70b2833cc0 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Mon, 8 Jun 2026 14:33:19 +0200
Subject: [PATCH] conf: add missing return value check in parse_def()

A malformed configuration may cause SIGSEGV.

Link: https://lore.kernel.org/alsa-devel/CAGt8pqBU0p2voB+qHxWGcNJrKHAcBhAyHUUBPLBN-Yj_SiV6MQ@mail.gmail.com/
Reported-by: Luigino Camastra <luigino.camastra@aisle.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>

CVE: CVE-2026-56109
Upstream-Status: Backport [https://github.com/alsa-project/alsa-lib/commit/536dd6f8affdf5197c12a63a71c92a70b2833cc0]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 src/conf.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/conf.c b/src/conf.c
index b0dd6298..e1dba23d 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -1485,6 +1485,10 @@ static int parse_def(snd_config_t *parent, input_t *input, int skip, int overrid
 			endchr = ']';
 		}
 		c = get_nonwhite(input);
+		if (c < 0) {
+			err = c;
+			goto __end;
+		}
 		if (c != endchr) {
 			if (n)
 				snd_config_delete(n);
