[alsa-devel] ALSA: timer: Handle disconnection more safely

Dan Carpenter dan.carpenter at oracle.com
Fri Jan 22 20:52:48 CET 2016


Hello Takashi Iwai,

This is a semi-automatic email about new static checker warnings.

The patch 230323dac060: "ALSA: timer: Handle disconnection more 
safely" from Jan 21, 2016, leads to the following Smatch complaint:

sound/core/timer.c:1091 snd_timer_proc_read()
	 error: we previously assumed 'timer->card' could be null (see line 1084)

sound/core/timer.c
  1083		list_for_each_entry(timer, &snd_timer_list, device_list) {
  1084			if (timer->card && timer->card->shutdown)
                            ^^^^^^^^^^^
New test.

  1085				continue;
  1086			switch (timer->tmr_class) {
  1087			case SNDRV_TIMER_CLASS_GLOBAL:
  1088				snd_iprintf(buffer, "G%i: ", timer->tmr_device);
  1089				break;
  1090			case SNDRV_TIMER_CLASS_CARD:
  1091				snd_iprintf(buffer, "C%i-%i: ",
  1092					    timer->card->number, timer->tmr_device);
                                            ^^^^^^^^^^^^^^^^^^^
Old untested dereference.  But maybe SNDRV_TIMER_CLASS_CARD implies
non-NULL?

  1093				break;

regards,
dan carpenter


More information about the Alsa-devel mailing list