• W
    ALSA: hiface: fix multiple memory leak bugs · 3d92aa45
    Wenwen Wang 提交于
    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: a91c3fb2 ("Add M2Tech hiFace USB-SPDIF driver")
    Signed-off-by: NWenwen Wang <wenwen@cs.uga.edu>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: NTakashi Iwai <tiwai@suse.de>
    3d92aa45
pcm.c 14.8 KB