[lvc-project] [PATCH] ASoC: simple-card-utils: Fix error handling in simple_util_init_jack()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Currently, if snd_soc_card_jack_new_pins() or snd_soc_jack_add_gpios()
fails, the function continues execution without handling the error.
This can lead to unexpected behavior and potential crashes.

This patch fixes the problem by checking the return value 
of these functions.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Igor Artemiev <Igor.A.Artemiev@xxxxxxx>
---
 sound/soc/generic/simple-card-utils.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sound/soc/generic/simple-card-utils.c b/sound/soc/generic/simple-card-utils.c
index 81077d16d22f..5da0c13858ad 100644
--- a/sound/soc/generic/simple-card-utils.c
+++ b/sound/soc/generic/simple-card-utils.c
@@ -784,10 +784,14 @@ int simple_util_init_jack(struct snd_soc_card *card,
 		sjack->gpio.desc	= desc;
 		sjack->gpio.debounce_time = 150;
 
-		snd_soc_card_jack_new_pins(card, pin_name, mask, &sjack->jack,
+		error = snd_soc_card_jack_new_pins(card, pin_name, mask, &sjack->jack,
 					   &sjack->pin, 1);
+		if (error)
+			return error;
 
-		snd_soc_jack_add_gpios(&sjack->jack, 1, &sjack->gpio);
+		error = snd_soc_jack_add_gpios(&sjack->jack, 1, &sjack->gpio);
+		if (error)
+			return error;
 	}
 
 	return 0;
-- 
2.39.2





[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux