Re: [PATCH] ALSA: usb-audio: Fix a potential memory leak in scarlett2_init_notify()

From: Takashi Iwai
Date: Tue Sep 05 2023 - 11:58:43 EST


On Mon, 04 Sep 2023 16:08:15 +0200,
Takashi Iwai wrote:
>
> On Sun, 03 Sep 2023 21:42:55 +0200,
> Christophe JAILLET wrote:
> >
> > Le 03/09/2023 à 18:37, Takashi Iwai a écrit :
> > > On Sun, 03 Sep 2023 17:04:47 +0200,
> > ...
> > For the start_input_streams() caller, this is fine, because the
> > corresponding memory is kzalloc()'ed in start_input_streams() at some
> > point, but I've not been able to check for snd_usb_midi_v2_open().

Oh I overlooked that point. Yes, it's a missing call, although the
memory leaks as free_midi_urbs() is called also at the destructor,
free_midi2_endpoint(), too. But it's definitely better to call at the
error path, too. Will fix it up together and submit the proper fix
patch.


thanks,

Takashi



> >
> > CJ
> >
> > >
> > > --- a/sound/usb/midi2.c
> > > +++ b/sound/usb/midi2.c
> > > @@ -265,7 +265,7 @@ static void free_midi_urbs(struct snd_usb_midi2_endpoint *ep)
> > > if (!ep)
> > > return;
> > > - for (i = 0; i < ep->num_urbs; ++i) {
> > > + for (i = 0; i < NUM_URBS; ++i) {
> > > ctx = &ep->urbs[i];
> > > if (!ctx->urb)
> > > break;
> > >
> > > That was the intended behavior of free_midi_urbs().
> > >
> > >
> > > Takashi
> > >
> >
>