From: Takashi Iwai Date: Thu, 20 May 2021 12:37:42 +0000 (+0200) Subject: ALSA: usb-audio: Fix uninitialized variable at __uac_clock_find_source() X-Git-Tag: microblaze-v5.15~96^2~9^2~234 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=be22db77dc50be6d9cf2b20ab689706c9031c054;p=linux-2.6-microblaze.git ALSA: usb-audio: Fix uninitialized variable at __uac_clock_find_source() The cur variable indicating the currently selected clock source can be theoretically used as uninitialized after the recent commit 481f17c41803 ("ALSA: usb-audio: Handle error for the current selector gracefully"). For addressing it, initialize it before use. Also, one place seems setting 0 to a wrong variable ret, instead of cur; otherwise it makes little sense. Since the initialization is done beforehand, we can get rid of this line, too. Fixes: 481f17c41803 ("ALSA: usb-audio: Handle error for the current selector gracefully") Reported-by: Colin Ian King Link: https://lore.kernel.org/r/4b261d68-f53f-240d-2d8a-2f88b337849d@canonical.com Link: https://lore.kernel.org/r/s5hfsyhh97t.wl-tiwai@suse.de Signed-off-by: Takashi Iwai --- diff --git a/sound/usb/clock.c b/sound/usb/clock.c index 772478c725c2..0afae839d295 100644 --- a/sound/usb/clock.c +++ b/sound/usb/clock.c @@ -290,6 +290,7 @@ static int __uac_clock_find_source(struct snd_usb_audio *chip, pins = GET_VAL(selector, proto, bNrInPins); clock_id = GET_VAL(selector, proto, bClockID); sources = GET_VAL(selector, proto, baCSourceID); + cur = 0; if (pins == 1) { ret = 1; @@ -314,7 +315,6 @@ static int __uac_clock_find_source(struct snd_usb_audio *chip, if (!chip->autoclock) return -EINVAL; - ret = 0; goto find_others; }