Merge branch 'bugfix/endianness_in_output_or_input_oob_v3.3' into 'release/v3.3'

ble_mesh: stack: Fix endianness error in output or input oob data of number (v3.3)

See merge request espressif/esp-idf!13470
This commit is contained in:
Jiang Jiang Jian
2021-05-08 07:12:54 +00:00

View File

@@ -2065,7 +2065,7 @@ int bt_mesh_provisioner_set_oob_input_data(const u8_t idx, const u8_t *val, bool
memset(link[idx].auth, 0, 16); memset(link[idx].auth, 0, 16);
if (num_flag) { if (num_flag) {
/* Provisioner inputs number */ /* Provisioner inputs number */
memcpy(link[idx].auth + 12, val, sizeof(u32_t)); sys_memcpy_swap(link[idx].auth + 12, val, sizeof(uint32_t));
} else { } else {
/* Provisioner inputs string */ /* Provisioner inputs string */
memcpy(link[idx].auth, val, link[idx].auth_size); memcpy(link[idx].auth, val, link[idx].auth_size);
@@ -2102,7 +2102,7 @@ int bt_mesh_provisioner_set_oob_output_data(const u8_t idx, const u8_t *num,
if (num_flag) { if (num_flag) {
/* Provisioner output number */ /* Provisioner output number */
memset(link[idx].auth, 0, 16); memset(link[idx].auth, 0, 16);
memcpy(link[idx].auth + 16 - size, num, size); sys_memcpy_swap(link[idx].auth + 16 - size, num, size);
} else { } else {
/* Provisioner output string */ /* Provisioner output string */
memset(link[idx].auth, 0, 16); memset(link[idx].auth, 0, 16);