回复: 回复: [PATCH] sound/usb: fix null pointer dereference on pointer cs_desc

YE Chengfeng cyeaa at connect.ust.hk
Tue Oct 26 14:51:00 CEST 2021


Got it. 

Thanks so much.
-Chengfeng

-----邮件原件-----
发件人: Takashi Iwai <tiwai at suse.de> 
发送时间: 2021年10月26日 14:11
收件人: YE Chengfeng <cyeaa at connect.ust.hk>
抄送: perex at perex.cz; tiwai at suse.com; chihhao.chen at mediatek.com; damien at zamaudio.com; alsa-devel at alsa-project.org; linux-kernel at vger.kernel.org
主题: Re: 回复: [PATCH] sound/usb: fix null pointer dereference on pointer cs_desc

On Sun, 24 Oct 2021 13:20:48 +0200,
YE Chengfeng wrote:
> 
> Hi,
> 
> I found another potential null-ptr-dereference problem in this file, 
> and not sure whether it is true.  I send this patch to you just for 
> reference, thinks a lot if you could spare some time to look at it.

The Fixes tag doesn't look correct (the code before the refactoring also didn't have NULL checks), so applied without it now.


thanks,

Takashi

> 
> Thanks so much,
> Chengfeng
> ----------------------------------------------------------------------
> --------
> 发件人: YE Chengfeng <cyeaa at connect.ust.hk>
> 发送时间: 2021年10月24日 19:17
> 收件人: perex at perex.cz <perex at perex.cz>; tiwai at suse.com <tiwai at suse.com>; 
> chihhao.chen at mediatek.com <chihhao.chen at mediatek.com>; 
> damien at zamaudio.com <damien at zamaudio.com>
> 抄送: alsa-devel at alsa-project.org <alsa-devel at alsa-project.org>; 
> linux-kernel at vger.kernel.org <linux-kernel at vger.kernel.org>; YE 
> Chengfeng <cyeaa at connect.ust.hk>
> 主题: [PATCH] sound/usb: fix null pointer dereference on pointer cs_desc
>  
> The pointer cs_desc return from snd_usb_find_clock_source could be 
> null, so there is a potential null pointer dereference issue.
> Fix this by adding a null check before dereference.
> 
> Fixes: 9ec73005 ("ALSA: usb-audio: Refactoring UAC2/3 clock setup 
> code")
> Signed-off-by: Chengfeng Ye <cyeaa at connect.ust.hk>
> ---
>  sound/usb/clock.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/sound/usb/clock.c b/sound/usb/clock.c index 
> 81d5ce07d548..98345a695dcc 100644
> --- a/sound/usb/clock.c
> +++ b/sound/usb/clock.c
> @@ -496,6 +496,10 @@ int snd_usb_set_sample_rate_v2v3(struct 
> snd_usb_audio *chip,
>          union uac23_clock_source_desc *cs_desc;
>  
>          cs_desc = snd_usb_find_clock_source(chip, clock, 
> fmt->protocol);
> +
> +       if (!cs_desc)
> +               return 0;
> +
>          if (fmt->protocol == UAC_VERSION_3)
>                  bmControls = le32_to_cpu(cs_desc->v3.bmControls);
>          else
> --
> 2.17.1
> 
> 


More information about the Alsa-devel mailing list