]> exis.tech > repos - linux.git/commitdiff
selftests/alsa: Fix memory leak in find_controls error path
authorMalaya Kumar Rout <malayarout91@gmail.com>
Sat, 4 Jul 2026 10:57:36 +0000 (16:27 +0530)
committerTakashi Iwai <tiwai@suse.de>
Sun, 5 Jul 2026 07:36:41 +0000 (09:36 +0200)
In find_controls(), card_data is allocated with malloc() but when
snd_ctl_open_lconf() fails, the code jumps to next_card without
freeing the allocated memory. This results in a memory leak for
each card where snd_ctl_open_lconf() fails.

Add free(card_data) before goto next_card to ensure proper cleanup
of the allocated memory in the error path.

Fixes: 5aaf9efffc57 ("kselftest: alsa: Add simplistic test for ALSA mixer controls kselftest")
Signed-off-by: Malaya Kumar Rout <malayarout91@gmail.com>
Link: https://patch.msgid.link/20260704105736.94874-1-malayarout91@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
tools/testing/selftests/alsa/mixer-test.c

index d4f845c3280456e80c1357ca79a0c2085e6d742b..c5ae2a026ce91938eaf24416aaa398183385095f 100644 (file)
@@ -84,6 +84,7 @@ static void find_controls(void)
                if (err < 0) {
                        ksft_print_msg("Failed to get hctl for card %d: %s\n",
                                       card, snd_strerror(err));
+                       free(card_data);
                        goto next_card;
                }