lkml.org 
[lkml]   [2018]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 019/165] usb: gadget: u_audio: fix pcm/card naming in g_audio_setup()
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Eugeniu Rosca <erosca@de.adit-jv.com>

    [ Upstream commit dfa042fa310caa475667b8c38d852f14439e0b01 ]

    Fix below smatch (v0.5.0-4443-g69e9094e11c1) warnings:
    drivers/usb/gadget/function/u_audio.c:607 g_audio_setup() warn: strcpy() 'pcm_name' of unknown size might be too large for 'pcm->name'
    drivers/usb/gadget/function/u_audio.c:614 g_audio_setup() warn: strcpy() 'card_name' of unknown size might be too large for 'card->driver'
    drivers/usb/gadget/function/u_audio.c:615 g_audio_setup() warn: strcpy() 'card_name' of unknown size might be too large for 'card->shortname'

    Below commits performed a similar 's/strcpy/strlcpy/' rework:
    * v2.6.31 commit 8372d4980fbc ("ALSA: ctxfi - Fix PCM device naming")
    * v4.14 commit 003d3e70dbeb ("ALSA: ad1848: fix format string overflow warning")
    * v4.14 commit 6d8b04de87e1 ("ALSA: cs423x: fix format string overflow warning")

    Fixes: eb9fecb9e69b ("usb: gadget: f_uac2: split out audio core")
    Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/usb/gadget/function/u_audio.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    --- a/drivers/usb/gadget/function/u_audio.c
    +++ b/drivers/usb/gadget/function/u_audio.c
    @@ -604,15 +604,15 @@ int g_audio_setup(struct g_audio *g_audi
    if (err < 0)
    goto snd_fail;

    - strcpy(pcm->name, pcm_name);
    + strlcpy(pcm->name, pcm_name, sizeof(pcm->name));
    pcm->private_data = uac;
    uac->pcm = pcm;

    snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &uac_pcm_ops);
    snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &uac_pcm_ops);

    - strcpy(card->driver, card_name);
    - strcpy(card->shortname, card_name);
    + strlcpy(card->driver, card_name, sizeof(card->driver));
    + strlcpy(card->shortname, card_name, sizeof(card->shortname));
    sprintf(card->longname, "%s %i", card_name, card->dev->id);

    snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS,

    \
     
     \ /
      Last update: 2018-09-03 19:48    [W:4.074 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site