From: Arnd Bergmann Date: Mon, 28 May 2018 15:59:57 +0000 (+0200) Subject: ALSA: xen: ensure nul-terminated device name X-Git-Tag: v4.19~773^2~17^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4c0eaac716d8e461584a4c8529cb00c72a563fa8;p=platform%2Fkernel%2Flinux-rpi.git ALSA: xen: ensure nul-terminated device name gcc-8 warns that pcm_instance->name is not necessarily terminated correctly if the input is more than 80 characters long or lacks a termination byte itself: In function 'strncpy', inlined from 'cfg_device' at sound/xen/xen_snd_front_cfg.c:399:3, inlined from 'xen_snd_front_cfg_card' at sound/xen/xen_snd_front_cfg.c:509:9: include/linux/string.h:254:9: error: '__builtin_strncpy' specified bound 80 equals destination size [-Werror=stringop-truncation] return __builtin_strncpy(p, q, size); Using strlcpy() instead of strncpy() makes this a bit safer. Fixes: fd3b36045c2c ("ALSA: xen-front: Read sound driver configuration from Xen store") Signed-off-by: Arnd Bergmann Reviewed-by: Oleksandr Andrushchenko Signed-off-by: Takashi Iwai --- diff --git a/sound/xen/xen_snd_front_cfg.c b/sound/xen/xen_snd_front_cfg.c index 38c7e1e..684b5f1 100644 --- a/sound/xen/xen_snd_front_cfg.c +++ b/sound/xen/xen_snd_front_cfg.c @@ -396,7 +396,7 @@ static int cfg_device(struct xen_snd_front_info *front_info, str = xenbus_read(XBT_NIL, device_path, XENSND_FIELD_DEVICE_NAME, NULL); if (!IS_ERR(str)) { - strncpy(pcm_instance->name, str, sizeof(pcm_instance->name)); + strlcpy(pcm_instance->name, str, sizeof(pcm_instance->name)); kfree(str); }