[PATCH] ALSA: core: control_led: fix memory leak in snd_ctl_led_set_state()
Jaroslav Kysela
perex at perex.cz
Sun Apr 4 10:16:03 CEST 2021
Dne 04. 04. 21 v 8:40 Takashi Sakamoto napsal(a):
> When inquired control element is not in led group, snd_ctl_led_set_state()
> attempts to add the element into the group, according to function
> arguments. Although an memory object is allocated for led instance, it's
> left as is without being released.
>
> This commit fixes the memory leak.
>
> Fixes: 22d8de62f11b ("ALSA: control - add generic LED trigger module as the new control layer")
> Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
> ---
> sound/core/control_led.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/sound/core/control_led.c b/sound/core/control_led.c
> index 788fd9e275e0..b97f118cd54e 100644
> --- a/sound/core/control_led.c
> +++ b/sound/core/control_led.c
> @@ -161,6 +161,7 @@ static void snd_ctl_led_set_state(struct snd_card *card, unsigned int access,
> list_add(&lctl->list, &led->controls);
> UPDATE_ROUTE(route, snd_ctl_led_get(lctl));
> }
> + kfree(lctl);
NAK: The lctl pointer is added to led->controls list to track the related
kctl. The kfree is called from snd_ctl_led_clean().
Jaroslav
--
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
More information about the Alsa-devel
mailing list