[alsa-devel] ALSA: firewire-lib: schedule work again when MIDI substream has rest of MIDI messages
Takashi Sakamoto
o-takashi at sakamocchi.jp
Thu Oct 15 10:18:12 CEST 2015
Hi,
On Oct 15 2015 16:04, Dan Carpenter wrote:
> Hello Takashi Sakamoto,
>
> This is a semi-automatic email about new static checker warnings.
>
> The patch e8a40d9bcb23: "ALSA: firewire-lib: schedule work again when
> MIDI substream has rest of MIDI messages" from Oct 9, 2015, leads to
> the following Smatch complaint:
>
> sound/firewire/lib.c:88 async_midi_port_callback()
> error: we previously assumed 'substream' could be null (see line 77)
>
> sound/firewire/lib.c
> 76
> 77 if (rcode == RCODE_COMPLETE && substream != NULL)
> ^^^^^^^^^^^^^^^^^
> Existing code assumes substream can be NULL.
>
> 78 snd_rawmidi_transmit_ack(substream, port->consume_bytes);
> 79 else if (!rcode_is_permanent_error(rcode))
> 80 /* To start next transaction immediately for recovery. */
> 81 port->next_ktime = ktime_set(0, 0);
> 82 else
> 83 /* Don't continue processing. */
> 84 port->error = true;
> 85
> 86 port->idling = true;
> 87
> 88 if (!snd_rawmidi_transmit_empty(substream))
> ^^^^^^^^^
> Patch adds an unchecked dereference (inside the function call).
>
> 89 schedule_work(&port->work);
> 90 }
>
> regards,
> dan carpenter
Indeed. I'll fix this bug in this weekend.
Thanks
Takashi Sakamoto
More information about the Alsa-devel
mailing list