usb: gadget: u_audio: Fix the size of a buffer in a strscpy() call
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 23 Mar 2024 06:57:03 +0000 (07:57 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 26 Mar 2024 09:45:52 +0000 (10:45 +0100)
commit16fac242177c5eb374bb2caacc28793732857369
tree1669e462439335cfca125303d3f7dc4b8a01850f
parentf8453bbde06c5d515b8487eb443d26307b2eec23
usb: gadget: u_audio: Fix the size of a buffer in a strscpy() call

The size given to strscpy() is not consistent with the destination buffer
that is used. The size is related to 'driver' and the buffer is
'mixername'.

sizeof(card->mixername) is 80 and sizeof(card->driver) is 16, so in
theory this could lead to unneeded string truncation.

In practice, this is not the case because g_audio_setup() has only 2
callers. 'card_name' is either "UAC1_Gadget" or "UAC2_Gadget".

Anyway, using the correct size is cleaner and more future proof.

In order to be less verbose, use the new 2-argument version of strscpy()
which computes auto-magically the size of the destination.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/bf8a9353319566624f653531b80e5caf3d346ba1.1711176700.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/u_audio.c