Coverity: snd_usb_pcm_has_fixed_rate(): Null pointer dereferences

From: coverity-bot
Date: Thu Jan 12 2023 - 17:28:25 EST


Hello!

This is an experimental semi-automated report about issues detected by
Coverity from a scan of next-20230111 as part of the linux-next scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan

You're getting this email because you were associated with the identified
lines of code (noted below) that were touched by commits:

Mon Jan 9 16:05:21 2023 +0100
291e9da91403 ("ALSA: usb-audio: Always initialize fixed_rate in snd_usb_find_implicit_fb_sync_format()")

Coverity reported the following:

*** CID 1530547: Null pointer dereferences (REVERSE_INULL)
sound/usb/pcm.c:166 in snd_usb_pcm_has_fixed_rate()
160 bool snd_usb_pcm_has_fixed_rate(struct snd_usb_substream *subs)
161 {
162 const struct audioformat *fp;
163 struct snd_usb_audio *chip = subs->stream->chip;
164 int rate = -1;
165
vvv CID 1530547: Null pointer dereferences (REVERSE_INULL)
vvv Null-checking "subs" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
166 if (!subs)
167 return false;
168 if (!(chip->quirk_flags & QUIRK_FLAG_FIXED_RATE))
169 return false;
170 list_for_each_entry(fp, &subs->fmt_list, list) {
171 if (fp->rates & SNDRV_PCM_RATE_CONTINUOUS)

If this is a false positive, please let us know so we can mark it as
such, or teach the Coverity rules to be smarter. If not, please make
sure fixes get into linux-next. :) For patches fixing this, please
include these lines (but double-check the "Fixes" first):

Reported-by: coverity-bot <keescook+coverity-bot@xxxxxxxxxxxx>
Addresses-Coverity-ID: 1530547 ("Null pointer dereferences")
Fixes: 291e9da91403 ("ALSA: usb-audio: Always initialize fixed_rate in snd_usb_find_implicit_fb_sync_format()")

Thanks for your attention!

--
Coverity-bot