diff --git a/nimble/controller/src/ble_ll_scan.c b/nimble/controller/src/ble_ll_scan.c index 7e19143dd..9e755cc3f 100644 --- a/nimble/controller/src/ble_ll_scan.c +++ b/nimble/controller/src/ble_ll_scan.c @@ -2635,11 +2635,13 @@ ble_ll_hci_send_ext_adv_report(uint8_t ptype, uint8_t *adva, uint8_t adva_type, evt->evt_type |= (BLE_HCI_ADV_DATA_STATUS_INCOMPLETE); } else { evt->evt_type |= (BLE_HCI_ADV_DATA_STATUS_TRUNCATED); - BLE_LL_AUX_SET_FLAG(aux_data, BLE_LL_AUX_TRUNCATED_SENT); rc = -1; - if (!BLE_LL_AUX_CHECK_FLAG(aux_data, BLE_LL_SENT_EVENT_TO_HOST)) { - ble_hci_trans_buf_free((uint8_t *)evt); - goto done; + if (aux_data) { + BLE_LL_AUX_SET_FLAG(aux_data, BLE_LL_AUX_TRUNCATED_SENT); + if (!BLE_LL_AUX_CHECK_FLAG(aux_data, BLE_LL_SENT_EVENT_TO_HOST)) { + ble_hci_trans_buf_free((uint8_t *)evt); + goto done; + } } }