Hello Takashi Iwai,
This is a semi-automatic email about new static checker warnings.
The patch 57f8770620e9: "ALSA: usb-audio: More validations of descriptor units" from Aug 20, 2019, leads to the following Smatch complaint:
sound/usb/quirks.c:254 create_yamaha_midi_quirk() warn: variable dereferenced before check 'injd' (see line 251)
sound/usb/quirks.c 244 /* must have some valid jack descriptors */ 245 injd = snd_usb_find_csint_desc(alts->extra, alts->extralen, 246 NULL, USB_MS_MIDI_IN_JACK); 247 outjd = snd_usb_find_csint_desc(alts->extra, alts->extralen, 248 NULL, USB_MS_MIDI_OUT_JACK); 249 if (!injd && !outjd) ^^^^^^^^^^^^^ At least one must be valid.
250 return -ENODEV; 250 return -ENODEV; 251 if (!snd_usb_validate_midi_desc(injd) || 252 !snd_usb_validate_midi_desc(outjd))
So this should return true/valid if the pointer is NULL?
253 return -ENODEV; 254 if (injd && (injd->bLength < 5 || 255 (injd->bJackType != USB_MS_EMBEDDED && 256 injd->bJackType != USB_MS_EXTERNAL)))
regards, dan carpenter