ALSA: usb-audio: Convert the last strlcpy() usage
The last remaining usage of strlcpy() in USB-audio driver is the setup of the card longname string. Basically we need to know whether any non-empty string is set or not, and no real length is needed. Refactor the code and use strscpy() instead. After this change, strlcpy() is gone from all sound/* code. Link: https://lore.kernel.org/r/20210115100437.20906-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
e8afdfdc81
Коммит
42ef170d57
|
@ -514,18 +514,17 @@ static void usb_audio_make_longname(struct usb_device *dev,
|
|||
s = preset->vendor_name;
|
||||
else if (quirk && quirk->vendor_name)
|
||||
s = quirk->vendor_name;
|
||||
*card->longname = 0;
|
||||
if (s && *s) {
|
||||
len = strlcpy(card->longname, s, sizeof(card->longname));
|
||||
strscpy(card->longname, s, sizeof(card->longname));
|
||||
} else {
|
||||
/* retrieve the vendor and device strings as longname */
|
||||
if (dev->descriptor.iManufacturer)
|
||||
len = usb_string(dev, dev->descriptor.iManufacturer,
|
||||
card->longname, sizeof(card->longname));
|
||||
else
|
||||
len = 0;
|
||||
usb_string(dev, dev->descriptor.iManufacturer,
|
||||
card->longname, sizeof(card->longname));
|
||||
/* we don't really care if there isn't any vendor string */
|
||||
}
|
||||
if (len > 0) {
|
||||
if (*card->longname) {
|
||||
strim(card->longname);
|
||||
if (*card->longname)
|
||||
strlcat(card->longname, " ", sizeof(card->longname));
|
||||
|
|
Загрузка…
Ссылка в новой задаче