diff options
author | Wenwen Wang <wenwen@cs.uga.edu> | 2019-08-07 04:08:51 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-08-07 12:20:00 +0200 |
commit | 3d92aa45fbfd7319e3a19f4ec59fd32b3862b723 (patch) | |
tree | a185bad2ee4923bb7ec865bd78d4fa032ade10f3 /sound/pci/hda/patch_cirrus.c | |
parent | c1c6c877b0c79fd7e05c931435aa42211eaeebaf (diff) | |
download | talos-op-linux-3d92aa45fbfd7319e3a19f4ec59fd32b3862b723.tar.gz talos-op-linux-3d92aa45fbfd7319e3a19f4ec59fd32b3862b723.zip |
ALSA: hiface: fix multiple memory leak bugs
In hiface_pcm_init(), 'rt' is firstly allocated through kzalloc(). Later
on, hiface_pcm_init_urb() is invoked to initialize 'rt->out_urbs[i]'. In
hiface_pcm_init_urb(), 'rt->out_urbs[i].buffer' is allocated through
kzalloc(). However, if hiface_pcm_init_urb() fails, both 'rt' and
'rt->out_urbs[i].buffer' are not deallocated, leading to memory leak bugs.
Also, 'rt->out_urbs[i].buffer' is not deallocated if snd_pcm_new() fails.
To fix the above issues, free 'rt' and 'rt->out_urbs[i].buffer'.
Fixes: a91c3fb2f842 ("Add M2Tech hiFace USB-SPDIF driver")
Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_cirrus.c')
0 files changed, 0 insertions, 0 deletions