Skip to content

Commit 8c15a18

Browse files
committed
ALSA: seq: Avoid confusion of aligned read size
Currently the read event packet size in snd_seq_read() is defined by client->midi_version value that is guaranteed to be zero if UMP isn't enabled. But the static analyzer doesn't know of the fact, and it still suspects as if it were leading to a potential overflow. Add the more explicit check of CONFIG_SND_SEQ_UMP to determine the aligned_size value for avoiding the confusion. Fixes: 4639762 ("ALSA: seq: Add UMP support") Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <error27@gmail.com> Closes: https://lore.kernel.org/r/202305261415.NY0vapZK-lkp@intel.com/ Link: https://lore.kernel.org/r/20230605144758.6677-2-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent 4f4e711 commit 8c15a18

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

sound/core/seq/seq_clientmgr.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ static ssize_t snd_seq_read(struct file *file, char __user *buf, size_t count,
451451
err = 0;
452452
snd_seq_fifo_lock(fifo);
453453

454-
if (client->midi_version > 0)
454+
if (IS_ENABLED(CONFIG_SND_SEQ_UMP) && client->midi_version > 0)
455455
aligned_size = sizeof(struct snd_seq_ump_event);
456456
else
457457
aligned_size = sizeof(struct snd_seq_event);

0 commit comments

Comments
 (0)