* [PATCH] ALSA: usb-audio: mixer: Remove temporary string use in parse_clock_source_unit
@ 2023-09-13 9:39 Peter Ujfalusi
2023-09-13 10:21 ` Takashi Iwai
0 siblings, 1 reply; 2+ messages in thread
From: Peter Ujfalusi @ 2023-09-13 9:39 UTC (permalink / raw)
To: tiwai, perex, arnd; +Cc: masahiroy, linux-kernel, alsa-devel, maciej.szmigiero
The kctl->id.name can be directly passed to snd_usb_copy_string_desc() and
if the string has been fetched the suffix can be appended with the
append_ctl_name() call.
The temporary name string becomes redundant and can be removed.
This change will also fixes the following compiler warning/error (W=1):
sound/usb/mixer.c: In function ‘parse_audio_unit’:
sound/usb/mixer.c:1972:29: error: ‘ Validity’ directive output may be truncated writing 9 bytes into a region of size between 1 and 44 [-Werror=format-truncation=]
1972 | "%s Validity", name);
| ^~~~~~~~~
In function ‘parse_clock_source_unit’,
inlined from ‘parse_audio_unit’ at sound/usb/mixer.c:2892:10:
sound/usb/mixer.c:1971:17: note: ‘snprintf’ output between 10 and 53 bytes into a destination of size 44
1971 | snprintf(kctl->id.name, sizeof(kctl->id.name),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1972 | "%s Validity", name);
| ~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
The warnings got brought to light by a recent patch upstream:
commit 6d4ab2e97dcf ("extrawarn: enable format and stringop overflow warnings in W=1")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
---
sound/usb/mixer.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index 9105ec623120..985b1aea9cdc 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -1929,7 +1929,6 @@ static int parse_clock_source_unit(struct mixer_build *state, int unitid,
struct uac_clock_source_descriptor *hdr = _ftr;
struct usb_mixer_elem_info *cval;
struct snd_kcontrol *kctl;
- char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
int ret;
if (state->mixer->protocol != UAC_VERSION_2)
@@ -1966,10 +1965,9 @@ static int parse_clock_source_unit(struct mixer_build *state, int unitid,
kctl->private_free = snd_usb_mixer_elem_free;
ret = snd_usb_copy_string_desc(state->chip, hdr->iClockSource,
- name, sizeof(name));
+ kctl->id.name, sizeof(kctl->id.name));
if (ret > 0)
- snprintf(kctl->id.name, sizeof(kctl->id.name),
- "%s Validity", name);
+ append_ctl_name(kctl, " Validity");
else
snprintf(kctl->id.name, sizeof(kctl->id.name),
"Clock Source %d Validity", hdr->bClockID);
--
2.42.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ALSA: usb-audio: mixer: Remove temporary string use in parse_clock_source_unit
2023-09-13 9:39 [PATCH] ALSA: usb-audio: mixer: Remove temporary string use in parse_clock_source_unit Peter Ujfalusi
@ 2023-09-13 10:21 ` Takashi Iwai
0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2023-09-13 10:21 UTC (permalink / raw)
To: Peter Ujfalusi
Cc: tiwai, perex, arnd, masahiroy, linux-kernel, alsa-devel,
maciej.szmigiero
On Wed, 13 Sep 2023 11:39:33 +0200,
Peter Ujfalusi wrote:
>
> The kctl->id.name can be directly passed to snd_usb_copy_string_desc() and
> if the string has been fetched the suffix can be appended with the
> append_ctl_name() call.
> The temporary name string becomes redundant and can be removed.
>
> This change will also fixes the following compiler warning/error (W=1):
>
> sound/usb/mixer.c: In function ‘parse_audio_unit’:
> sound/usb/mixer.c:1972:29: error: ‘ Validity’ directive output may be truncated writing 9 bytes into a region of size between 1 and 44 [-Werror=format-truncation=]
> 1972 | "%s Validity", name);
> | ^~~~~~~~~
> In function ‘parse_clock_source_unit’,
> inlined from ‘parse_audio_unit’ at sound/usb/mixer.c:2892:10:
> sound/usb/mixer.c:1971:17: note: ‘snprintf’ output between 10 and 53 bytes into a destination of size 44
> 1971 | snprintf(kctl->id.name, sizeof(kctl->id.name),
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 1972 | "%s Validity", name);
> | ~~~~~~~~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
>
> The warnings got brought to light by a recent patch upstream:
> commit 6d4ab2e97dcf ("extrawarn: enable format and stringop overflow warnings in W=1")
>
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Thanks, applied now.
Takashi
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-09-13 10:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-13 9:39 [PATCH] ALSA: usb-audio: mixer: Remove temporary string use in parse_clock_source_unit Peter Ujfalusi
2023-09-13 10:21 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).