[alsa-devel] [PATCH] ALSA: usb-audio: fix a memory leak bug

Takashi Iwai tiwai at suse.de
Tue Aug 6 08:40:23 CEST 2019


On Tue, 06 Aug 2019 08:13:06 +0200,
Wenwen Wang wrote:
> 
> In add_new_ctl(), a mixer element structure is allocated through kzalloc()
> and the pointer is saved to 'elem'. Later on, a new alsa control element is
> created and added to this structure. In case the add process fails, i.e.,
> the return value of snd_usb_mixer_add_control() is less than 0, the
> allocated structure is not freed, leading to a memory leak.
> 
> To fix the above issue, free 'elem' before returning the error.
> 
> Signed-off-by: Wenwen Wang <wenwen at cs.uga.edu>

It's a false-positive.  snd_ctl_add() behaves differently from others,
it releases the given kctl at the error.  And in this case, elem
already gets freed by kctl->private_free callback.


thanks,

Takashi


More information about the Alsa-devel mailing list