|
@@ -128,7 +128,8 @@ esp_err_t esp_ble_mesh_node_input_string(const char *string)
|
|
|
msg.pid = BTC_PID_PROV;
|
|
msg.pid = BTC_PID_PROV;
|
|
|
msg.act = BTC_BLE_MESH_ACT_INPUT_STRING;
|
|
msg.act = BTC_BLE_MESH_ACT_INPUT_STRING;
|
|
|
memset(arg.input_string.string, 0, sizeof(arg.input_string.string));
|
|
memset(arg.input_string.string, 0, sizeof(arg.input_string.string));
|
|
|
- strncpy(arg.input_string.string, string, strlen(string));
|
|
|
|
|
|
|
+ strncpy(arg.input_string.string, string,
|
|
|
|
|
+ MIN(strlen(string), sizeof(arg.input_string.string)));
|
|
|
|
|
|
|
|
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
|
|
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
|
|
|
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
|
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
|
@@ -150,7 +151,8 @@ esp_err_t esp_ble_mesh_set_unprovisioned_device_name(const char *name)
|
|
|
msg.act = BTC_BLE_MESH_ACT_SET_DEVICE_NAME;
|
|
msg.act = BTC_BLE_MESH_ACT_SET_DEVICE_NAME;
|
|
|
|
|
|
|
|
memset(arg.set_device_name.name, 0, sizeof(arg.set_device_name.name));
|
|
memset(arg.set_device_name.name, 0, sizeof(arg.set_device_name.name));
|
|
|
- memcpy(arg.set_device_name.name, name, strlen(name));
|
|
|
|
|
|
|
+ strncpy(arg.set_device_name.name, name, ESP_BLE_MESH_DEVICE_NAME_MAX_LEN);
|
|
|
|
|
+
|
|
|
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
|
|
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
|
|
|
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
|
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
|
|
|
}
|
|
}
|
|
@@ -196,7 +198,8 @@ esp_err_t esp_ble_mesh_provisioner_input_string(const char *string, uint8_t link
|
|
|
msg.act = BTC_BLE_MESH_ACT_PROVISIONER_INPUT_STR;
|
|
msg.act = BTC_BLE_MESH_ACT_PROVISIONER_INPUT_STR;
|
|
|
|
|
|
|
|
memset(arg.provisioner_input_str.string, 0, sizeof(arg.provisioner_input_str.string));
|
|
memset(arg.provisioner_input_str.string, 0, sizeof(arg.provisioner_input_str.string));
|
|
|
- strncpy(arg.provisioner_input_str.string, string, strlen(string));
|
|
|
|
|
|
|
+ strncpy(arg.provisioner_input_str.string, string,
|
|
|
|
|
+ MIN(strlen(string), sizeof(arg.provisioner_input_str.string)));
|
|
|
arg.provisioner_input_str.link_idx = link_idx;
|
|
arg.provisioner_input_str.link_idx = link_idx;
|
|
|
|
|
|
|
|
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
|
|
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_mesh_prov_args_t), NULL)
|