Bluetooth: fix strncpy call in bt_set_name

In bt_set_name we already get name length so let's use it in strncpy
Also fix warning with enable -Wstringop-truncation

Signed-off-by: Ilya Averyanov <a1ien.n3t@gmail.com>
This commit is contained in:
Ilya Averyanov 2020-09-09 15:21:37 +03:00 committed by Maureen Helm
commit e363decf1c

View file

@ -6723,7 +6723,7 @@ int bt_set_name(const char *name)
size_t len = strlen(name);
int err;
if (len >= sizeof(bt_dev.name)) {
if (len > CONFIG_BT_DEVICE_NAME_MAX) {
return -ENOMEM;
}
@ -6731,12 +6731,13 @@ int bt_set_name(const char *name)
return 0;
}
strncpy(bt_dev.name, name, sizeof(bt_dev.name));
strncpy(bt_dev.name, name, len);
bt_dev.name[len] = '\0';
/* Update advertising name if in use */
if (adv && atomic_test_bit(adv->flags, BT_ADV_INCLUDE_NAME)) {
struct bt_data data[] = { BT_DATA(BT_DATA_NAME_COMPLETE, name,
strlen(name)) };
len) };
struct bt_ad sd = { data, ARRAY_SIZE(data) };
set_sd(adv, &sd, 1);