]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ALSA: pcm: Fix snd_pcm_format_name function
authorIvan Orlov <ivan.orlov0322@gmail.com>
Thu, 25 Jan 2024 22:35:20 +0000 (22:35 +0000)
committerTakashi Iwai <tiwai@suse.de>
Tue, 30 Jan 2024 13:11:29 +0000 (14:11 +0100)
Fix snd_pcm_format_name so it won't return NULL-pointer in case if it
can't find the format in the 'snd_pcm_format_names' list. Return
"Unknown" instead, as it is done if the number passed to the function
is larger than a list size.

Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
Link: https://lore.kernel.org/r/20240125223522.1122765-2-ivan.orlov0322@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/pcm.c

index d0788126cbab10a2ef8daaab9201f366f27d8c63..d9b338088d10419be8ef305cc29aa0b7bbb0ea25 100644 (file)
@@ -225,9 +225,11 @@ static const char * const snd_pcm_format_names[] = {
  */
 const char *snd_pcm_format_name(snd_pcm_format_t format)
 {
-       if ((__force unsigned int)format >= ARRAY_SIZE(snd_pcm_format_names))
+       unsigned int format_num = (__force unsigned int)format;
+
+       if (format_num >= ARRAY_SIZE(snd_pcm_format_names) || !snd_pcm_format_names[format_num])
                return "Unknown";
-       return snd_pcm_format_names[(__force unsigned int)format];
+       return snd_pcm_format_names[format_num];
 }
 EXPORT_SYMBOL_GPL(snd_pcm_format_name);