ble_mesh: stack: Fix endianness error in output or input oob data of number

Closes https://github.com/espressif/esp-idf/issues/6862
This commit is contained in:
wangjialiang 2021-04-15 22:36:45 +08:00 committed by bot
parent 755ae308d1
commit c0a397e0a2

View File

@ -2057,7 +2057,7 @@ int bt_mesh_provisioner_set_oob_input_data(const uint8_t idx, const uint8_t *val
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(uint32_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);
@ -2094,7 +2094,7 @@ int bt_mesh_provisioner_set_oob_output_data(const uint8_t idx, const uint8_t *nu
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);