ALSA: ump: Fix -Wformat-truncation warnings
authorTakashi Iwai <tiwai@suse.de>
Sat, 26 Aug 2023 07:21:51 +0000 (09:21 +0200)
committerTakashi Iwai <tiwai@suse.de>
Sat, 26 Aug 2023 07:22:18 +0000 (09:22 +0200)
Filling the rawmidi name and substream name can be truncated, and this
leads to spurious compiler warnings due to -Wformat-truncation.
Although the truncation is the expected behavior, it'd be better to
truncate the string within "(...)"

This patch puts the precision specifies to each %s for fitting the
words within the size-limited strings.

Fixes: 5f11dd938fe7 ("ALSA: usb-audio: Attach legacy rawmidi after probing all UMP EPs")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202308251844.1FuQYsql-lkp@intel.com/
Link: https://lore.kernel.org/r/20230826072151.23408-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/ump.c

index cd192bec227af83a1da612231d7c757a7af78fa2..3bef1944e955ff24940c1cba0d0a82f79db33d6e 100644 (file)
@@ -1157,7 +1157,7 @@ static void fill_substream_names(struct snd_ump_endpoint *ump,
        struct snd_rawmidi_substream *s;
 
        list_for_each_entry(s, &rmidi->streams[dir].substreams, list)
-               snprintf(s->name, sizeof(s->name), "Group %d (%s)",
+               snprintf(s->name, sizeof(s->name), "Group %d (%.16s)",
                         ump->legacy_mapping[s->number] + 1, ump->info.name);
 }
 
@@ -1191,7 +1191,7 @@ int snd_ump_attach_legacy_rawmidi(struct snd_ump_endpoint *ump,
        if (output)
                snd_rawmidi_set_ops(rmidi, SNDRV_RAWMIDI_STREAM_OUTPUT,
                                    &snd_ump_legacy_output_ops);
-       snprintf(rmidi->name, sizeof(rmidi->name), "%s (MIDI 1.0)",
+       snprintf(rmidi->name, sizeof(rmidi->name), "%.68s (MIDI 1.0)",
                 ump->info.name);
        rmidi->info_flags = ump->core.info_flags & ~SNDRV_RAWMIDI_INFO_UMP;
        rmidi->ops = &snd_ump_legacy_ops;