#endif
if (adv_info->adv_type == BT_LE_ADV_DIRECT_IND ||
- adv_info->adv_type == BT_LE_ADV_NONCONN_IND) {
+ adv_info->adv_type == BT_LE_ADV_NONCONN_IND) {
__bt_hal_send_le_scan_result_event(adv_info);
g_free(adv_info);
} else if (adv_info->adv_type == BT_LE_ADV_IND ||
- adv_info->adv_type == BT_LE_ADV_SCAN_IND) {
-
- if (__bt_hal_add_adv_ind_info(adv_info) == 0)
+ adv_info->adv_type == BT_LE_ADV_SCAN_IND) {
+ if (__bt_hal_add_adv_ind_info(adv_info) == 0) {
adv_info->timer_id = g_timeout_add(1000,
__bt_hal_adv_scan_req_timeout_cb,
(void *)adv_info);
+ } else {
+ g_free(adv_info);
+ }
+ } else {
+ g_free(adv_info);
}
}