2023-09-12 20:24:15

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] ALSA: core: Use dev_name of card_dev as debugfs directory name

On Tue, 12 Sep 2023 13:01:13 +0200,
Peter Ujfalusi wrote:
>
> There is no need to use temporary string for the debugfs directory name as
> we can use the device name of the card.
>
> This change will also fixes the following compiler warning/error (W=1):
>
> sound/core/init.c: In function ?snd_card_init?:
> sound/core/init.c:367:28: error: ?%d? directive writing between 1 and 10 bytes into a region of size 4 [-Werror=format-overflow=]
> 367 | sprintf(name, "card%d", idx);
> | ^~
> sound/core/init.c:367:23: note: directive argument in the range [0, 2147483646]
> 367 | sprintf(name, "card%d", idx);
> | ^~~~~~~~
> sound/core/init.c:367:9: note: ?sprintf? output between 6 and 15 bytes into a destination of size 8
> 367 | sprintf(name, "card%d", idx);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
>
> The idx is guarantied to be less than SNDRV_CARDS (max 256 or 8) by the
> code in snd_card_init(), however the compiler does not see that.
>
> The warnings got brought to light by a recent patch upstream:
> commit 6d4ab2e97dcf ("extrawarn: enable format and stringop overflow warnings in W=1")
>
> Suggested-by: Arnd Bergmann <[email protected]>
> Suggested-by: Takashi Iwai <[email protected]>
> Signed-off-by: Peter Ujfalusi <[email protected]>

Thanks, applied now.


Takashi