• Peter Ujfalusi's avatar
    ASoC: hdac_hdmi: Remove temporary string use in create_fill_jack_kcontrols · 67a810b6
    Peter Ujfalusi authored
    There is no need to use temporary strings to construct the kcontrol names,
    devm_kasprintf can be used to replace the snprintf + devm_kstrdup pairs.
    
    This change will also fixes the following compiler warning/error (W=1):
    
    sound/soc/codecs/hdac_hdmi.c: In function ‘hdac_hdmi_jack_port_init’:
    sound/soc/codecs/hdac_hdmi.c:1793:63: error: ‘ Switch’ directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Werror=format-truncation=]
     1793 |                         snprintf(kc_name, sizeof(kc_name), "%s Switch", xname);
          |                                                               ^~~~~~~
    In function ‘create_fill_jack_kcontrols’,
        inlined from ‘hdac_hdmi_jack_port_init’ at sound/soc/codecs/hdac_hdmi.c:1871:8:
    sound/soc/codecs/hdac_hdmi.c:1793:25: note: ‘snprintf’ output between 8 and 39 bytes into a destination of size 32
     1793 |                         snprintf(kc_name, sizeof(kc_name), "%s Switch", xname);
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    
    The warnings got brought to light by a recent patch upstream:
    commit 6d4ab2e9
    
     ("extrawarn: enable format and stringop overflow warnings in W=1")
    Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
    Link: https://lore.kernel.org/r/20230913091325.16877-1-peter.ujfalusi@linux.intel.com
    
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    67a810b6
hdac_hdmi.c 58.3 KB