Răsfoiți Sursa

components/bt: fix blufi encryption fail

xiewenxiang 4 ani în urmă
părinte
comite
9006d20355

+ 6 - 0
components/bt/common/btc/profile/esp/blufi/bluedroid_host/esp_blufi.c

@@ -330,6 +330,12 @@ static void blufi_profile_cb(tBTA_GATTS_EVT event, tBTA_GATTS *p_data)
         blufi_env.conn_id = p_data->conn.conn_id;
         blufi_env.recv_seq = blufi_env.send_seq = 0;
         blufi_env.sec_mode = 0x0;
+        blufi_env.offset = 0;
+
+        if (blufi_env.aggr_buf != NULL) {
+            osi_free(blufi_env.aggr_buf);
+            blufi_env.aggr_buf = NULL;
+        }
 
         msg.sig = BTC_SIG_API_CB;
         msg.pid = BTC_PID_BLUFI;

+ 7 - 0
components/bt/common/btc/profile/esp/blufi/nimble_host/esp_blufi.c

@@ -280,6 +280,13 @@ esp_blufi_gap_event(struct ble_gap_event *event, void *arg)
         blufi_env.is_connected = false;
         blufi_env.recv_seq = blufi_env.send_seq = 0;
         blufi_env.sec_mode = 0x0;
+        blufi_env.offset = 0;
+
+        if (blufi_env.aggr_buf != NULL) {
+            osi_free(blufi_env.aggr_buf);
+            blufi_env.aggr_buf = NULL;
+        }
+
         btc_msg_t msg;
         esp_blufi_cb_param_t param;