Merge branch 'bugfix/btdm_memleak_of_ble_set_security_param' into 'master'
component/bt: Fix mem leak of esp_ble_gap_set_security_param See merge request idf/esp-idf!2458
This commit is contained in:
commit
19d823c44d
1 changed files with 16 additions and 8 deletions
|
@ -939,6 +939,13 @@ void btc_gap_ble_arg_deep_free(btc_msg_t *msg)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case BTC_GAP_BLE_SET_SECURITY_PARAM_EVT: {
|
||||||
|
uint8_t *value = ((btc_ble_gap_args_t *)msg->arg)->set_security_param.value;
|
||||||
|
if (value) {
|
||||||
|
osi_free(value);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
BTC_TRACE_DEBUG("Unhandled deep free %d\n", msg->act);
|
BTC_TRACE_DEBUG("Unhandled deep free %d\n", msg->act);
|
||||||
break;
|
break;
|
||||||
|
@ -1040,36 +1047,37 @@ void btc_gap_ble_call_handler(btc_msg_t *msg)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case BTC_GAP_BLE_SET_SECURITY_PARAM_EVT: {
|
case BTC_GAP_BLE_SET_SECURITY_PARAM_EVT: {
|
||||||
|
uint8_t *value = arg->set_security_param.value;
|
||||||
switch(arg->set_security_param.param_type) {
|
switch(arg->set_security_param.param_type) {
|
||||||
case ESP_BLE_SM_PASSKEY:
|
case ESP_BLE_SM_PASSKEY:
|
||||||
break;
|
break;
|
||||||
case ESP_BLE_SM_AUTHEN_REQ_MODE: {
|
case ESP_BLE_SM_AUTHEN_REQ_MODE: {
|
||||||
uint8_t authen_req = 0;
|
uint8_t authen_req = 0;
|
||||||
STREAM_TO_UINT8(authen_req, arg->set_security_param.value);
|
STREAM_TO_UINT8(authen_req, value);
|
||||||
bta_dm_co_ble_set_auth_req(authen_req);
|
bta_dm_co_ble_set_auth_req(authen_req);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ESP_BLE_SM_IOCAP_MODE: {
|
case ESP_BLE_SM_IOCAP_MODE: {
|
||||||
uint8_t iocap = 0;
|
uint8_t iocap = 0;
|
||||||
STREAM_TO_UINT8(iocap, arg->set_security_param.value);
|
STREAM_TO_UINT8(iocap, value);
|
||||||
bta_dm_co_ble_set_io_cap(iocap);
|
bta_dm_co_ble_set_io_cap(iocap);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ESP_BLE_SM_SET_INIT_KEY: {
|
case ESP_BLE_SM_SET_INIT_KEY: {
|
||||||
uint8_t init_key = 0;
|
uint8_t init_key = 0;
|
||||||
STREAM_TO_UINT8(init_key, arg->set_security_param.value);
|
STREAM_TO_UINT8(init_key, value);
|
||||||
bta_dm_co_ble_set_init_key_req(init_key);
|
bta_dm_co_ble_set_init_key_req(init_key);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ESP_BLE_SM_SET_RSP_KEY: {
|
case ESP_BLE_SM_SET_RSP_KEY: {
|
||||||
uint8_t rsp_key = 0;
|
uint8_t rsp_key = 0;
|
||||||
STREAM_TO_UINT8(rsp_key, arg->set_security_param.value);
|
STREAM_TO_UINT8(rsp_key, value);
|
||||||
bta_dm_co_ble_set_rsp_key_req(rsp_key);
|
bta_dm_co_ble_set_rsp_key_req(rsp_key);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ESP_BLE_SM_MAX_KEY_SIZE: {
|
case ESP_BLE_SM_MAX_KEY_SIZE: {
|
||||||
uint8_t key_size = 0;
|
uint8_t key_size = 0;
|
||||||
STREAM_TO_UINT8(key_size, arg->set_security_param.value);
|
STREAM_TO_UINT8(key_size, value);
|
||||||
bta_dm_co_ble_set_max_key_size(key_size);
|
bta_dm_co_ble_set_max_key_size(key_size);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue