Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 336fd4f5 authored by Xiongfeng Wang's avatar Xiongfeng Wang Committed by Jiri Kosina
Browse files

HID: uhid: use strlcpy() instead of strncpy()



gcc-8 reports

drivers/hid/uhid.c: In function 'uhid_dev_create2':
./include/linux/string.h:245:9: warning: '__builtin_strncpy' output may
be truncated copying 127 bytes from a string of length 127
[-Wstringop-truncation]

The compiler require that the input param 'len' of strncpy() should be
greater than the length of the src string, so that '\0' is copied as
well. We can just use strlcpy() to avoid this warning.

Signed-off-by: default avatarXiongfeng Wang <xiongfeng.wang@linaro.org>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent b9ec7009
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -496,12 +496,12 @@ static int uhid_dev_create2(struct uhid_device *uhid,
		goto err_free;
	}

	len = min(sizeof(hid->name), sizeof(ev->u.create2.name)) - 1;
	strncpy(hid->name, ev->u.create2.name, len);
	len = min(sizeof(hid->phys), sizeof(ev->u.create2.phys)) - 1;
	strncpy(hid->phys, ev->u.create2.phys, len);
	len = min(sizeof(hid->uniq), sizeof(ev->u.create2.uniq)) - 1;
	strncpy(hid->uniq, ev->u.create2.uniq, len);
	len = min(sizeof(hid->name), sizeof(ev->u.create2.name));
	strlcpy(hid->name, ev->u.create2.name, len);
	len = min(sizeof(hid->phys), sizeof(ev->u.create2.phys));
	strlcpy(hid->phys, ev->u.create2.phys, len);
	len = min(sizeof(hid->uniq), sizeof(ev->u.create2.uniq));
	strlcpy(hid->uniq, ev->u.create2.uniq, len);

	hid->ll_driver = &uhid_hid_driver;
	hid->bus = ev->u.create2.bus;