|
|
@@ -1222,10 +1222,11 @@ void BTA_DmBleSetAdvConfigRaw (UINT8 *p_raw_adv, UINT32 raw_adv_len,
|
|
|
tBTA_DM_API_SET_ADV_CONFIG_RAW *p_msg;
|
|
|
|
|
|
if ((p_msg = (tBTA_DM_API_SET_ADV_CONFIG_RAW *)
|
|
|
- osi_malloc(sizeof(tBTA_DM_API_SET_ADV_CONFIG_RAW))) != NULL) {
|
|
|
+ osi_malloc(sizeof(tBTA_DM_API_SET_ADV_CONFIG_RAW) + raw_adv_len)) != NULL) {
|
|
|
p_msg->hdr.event = BTA_DM_API_BLE_SET_ADV_CONFIG_RAW_EVT;
|
|
|
p_msg->p_adv_data_cback = p_adv_data_cback;
|
|
|
- p_msg->p_raw_adv = p_raw_adv;
|
|
|
+ p_msg->p_raw_adv = (UINT8 *)(p_msg + 1);
|
|
|
+ memcpy(p_msg->p_raw_adv, p_raw_adv, raw_adv_len);
|
|
|
p_msg->raw_adv_len = raw_adv_len;
|
|
|
|
|
|
bta_sys_sendmsg(p_msg);
|
|
|
@@ -1307,10 +1308,11 @@ void BTA_DmBleSetScanRspRaw (UINT8 *p_raw_scan_rsp, UINT32 raw_scan_rsp_len,
|
|
|
tBTA_DM_API_SET_ADV_CONFIG_RAW *p_msg;
|
|
|
|
|
|
if ((p_msg = (tBTA_DM_API_SET_ADV_CONFIG_RAW *)
|
|
|
- osi_malloc(sizeof(tBTA_DM_API_SET_ADV_CONFIG_RAW))) != NULL) {
|
|
|
+ osi_malloc(sizeof(tBTA_DM_API_SET_ADV_CONFIG_RAW) + raw_scan_rsp_len)) != NULL) {
|
|
|
p_msg->hdr.event = BTA_DM_API_BLE_SET_SCAN_RSP_RAW_EVT;
|
|
|
p_msg->p_adv_data_cback = p_scan_rsp_data_cback;
|
|
|
- p_msg->p_raw_adv = p_raw_scan_rsp;
|
|
|
+ p_msg->p_raw_adv = (UINT8 *)(p_msg + 1);
|
|
|
+ memcpy(p_msg->p_raw_adv, p_raw_scan_rsp, raw_scan_rsp_len);
|
|
|
p_msg->raw_adv_len = raw_scan_rsp_len;
|
|
|
|
|
|
bta_sys_sendmsg(p_msg);
|