提交 336fd4f5 编写于 作者: X Xiongfeng Wang 提交者: Jiri Kosina

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: NXiongfeng Wang <xiongfeng.wang@linaro.org>
Signed-off-by: NJiri Kosina <jkosina@suse.cz>
上级 b9ec7009
...@@ -496,12 +496,12 @@ static int uhid_dev_create2(struct uhid_device *uhid, ...@@ -496,12 +496,12 @@ static int uhid_dev_create2(struct uhid_device *uhid,
goto err_free; goto err_free;
} }
len = min(sizeof(hid->name), sizeof(ev->u.create2.name)) - 1; len = min(sizeof(hid->name), sizeof(ev->u.create2.name));
strncpy(hid->name, ev->u.create2.name, len); strlcpy(hid->name, ev->u.create2.name, len);
len = min(sizeof(hid->phys), sizeof(ev->u.create2.phys)) - 1; len = min(sizeof(hid->phys), sizeof(ev->u.create2.phys));
strncpy(hid->phys, ev->u.create2.phys, len); strlcpy(hid->phys, ev->u.create2.phys, len);
len = min(sizeof(hid->uniq), sizeof(ev->u.create2.uniq)) - 1; len = min(sizeof(hid->uniq), sizeof(ev->u.create2.uniq));
strncpy(hid->uniq, ev->u.create2.uniq, len); strlcpy(hid->uniq, ev->u.create2.uniq, len);
hid->ll_driver = &uhid_hid_driver; hid->ll_driver = &uhid_hid_driver;
hid->bus = ev->u.create2.bus; hid->bus = ev->u.create2.bus;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册