[alsa-devel] [PATCH] mixer: Fix memory leak for more than 16 file descriptor case
Takashi Iwai
tiwai at suse.de
Tue Jan 7 14:03:48 CET 2020
On Mon, 06 Jan 2020 22:41:29 +0100,
David Fries wrote:
>
> ---
> I saw this when digging through the source code, wrote up a test case,
> and verified with valgrind. I don't have that many sound cards so I
> modified mixer.c to always take the conditional. alloca seemed like
> the least effort way to fix this. Other thoughts were to test pfds !=
> spfds and free, but given how little bytes would be allocated putting
> on the stack seems reasonable.
Looks good to me.
Could you give your sign-off? It's not strictly needed for alsa-lib,
but we prefer having it.
thanks,
Takashi
>
> I also created the github pull request 20.
> https://github.com/alsa-project/alsa-lib/pull/20
>
> src/mixer/mixer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/mixer/mixer.c b/src/mixer/mixer.c
> index 82056474..b1af9945 100644
> --- a/src/mixer/mixer.c
> +++ b/src/mixer/mixer.c
> @@ -767,7 +767,7 @@ int snd_mixer_wait(snd_mixer_t *mixer, int timeout)
> if (count < 0)
> return count;
> if ((unsigned int) count > sizeof(spfds) / sizeof(spfds[0])) {
> - pfds = malloc(count * sizeof(*pfds));
> + pfds = alloca(count * sizeof(*pfds));
> if (!pfds)
> return -ENOMEM;
> err = snd_mixer_poll_descriptors(mixer, pfds,
> --
> 2.11.0
>
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
More information about the Alsa-devel
mailing list