I realized that after I sent it, and I wasn't sure if that was going to be the solution anyway. I sent another patch and added you as reviewed by if that's okay. On Tue, Jan 07, 2020 at 02:03:48PM +0100, Takashi Iwai wrote: > 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@xxxxxxxxxxxxxxxx > > https://mailman.alsa-project.org/mailman/listinfo/alsa-devel > > -- David Fries <david@xxxxxxxxx> _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel