From e502893f18398d9ea68a15a2764402c4f346c0d5 Mon Sep 17 00:00:00 2001 From: liaowenhao Date: Wed, 27 Jan 2021 19:46:13 +0800 Subject: [PATCH] bugfix/if bta_hf_client_sco_co_out_data is called, it will crash when sco disconnected --- .../bluedroid/btc/profile/std/hf_client/bta_hf_client_co.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/bt/host/bluedroid/btc/profile/std/hf_client/bta_hf_client_co.c b/components/bt/host/bluedroid/btc/profile/std/hf_client/bta_hf_client_co.c index 53a4135d84..137b2c6f67 100644 --- a/components/bt/host/bluedroid/btc/profile/std/hf_client/bta_hf_client_co.c +++ b/components/bt/host/bluedroid/btc/profile/std/hf_client/bta_hf_client_co.c @@ -329,7 +329,9 @@ uint32_t bta_hf_client_sco_co_out_data(UINT8 *p_buf) return btc_hf_client_outgoing_data_cb_to_app(p_buf, hf_raw_pkt_size); } else if (hf_air_mode == BTM_SCO_AIR_MODE_TRANSPNT) { // mSBC - + if(bta_hf_client_co_cb_ptr == NULL) { + return 0; + } if (hf_inout_pkt_size == BTM_MSBC_FRAME_SIZE / 2) { if (bta_hf_client_co_cb.encode_first_pkt){ UINT32 size = btc_hf_client_outgoing_data_cb_to_app((UINT8 *)bta_hf_client_co_cb.encoder.as16PcmBuffer, HF_SBC_ENC_RAW_DATA_SIZE);