소스 검색

fix vendor hci memory leak

zwj 5 년 전
부모
커밋
c5afe0ea2d
2개의 변경된 파일9개의 추가작업 그리고 7개의 파일을 삭제
  1. 1 3
      components/bt/host/bluedroid/bta/dm/bta_dm_api.c
  2. 8 4
      components/bt/host/bluedroid/stack/btm/btm_ble_multi_adv.c

+ 1 - 3
components/bt/host/bluedroid/bta/dm/bta_dm_api.c

@@ -2663,9 +2663,7 @@ void BTA_VendorCleanup (void)
     }
 #endif
 
-    if (cmn_ble_vsc_cb.adv_inst_max > 0) {
-        btm_ble_multi_adv_cleanup();
-    }
+    btm_ble_multi_adv_cleanup();
 }
 
 #endif

+ 8 - 4
components/bt/host/bluedroid/stack/btm/btm_ble_multi_adv.c

@@ -840,10 +840,14 @@ void btm_ble_multi_adv_cleanup(void)
     }
 
 #if BTM_DYNAMIC_MEMORY == TRUE
-    osi_free(btm_multi_adv_cb_ptr);
-    osi_free(btm_multi_adv_idx_q_ptr);
-    btm_multi_adv_cb_ptr = NULL;
-    btm_multi_adv_idx_q_ptr = NULL;
+    if(btm_multi_adv_cb_ptr) {
+       osi_free(btm_multi_adv_cb_ptr);
+       btm_multi_adv_cb_ptr = NULL;
+    }
+    if(btm_multi_adv_idx_q_ptr) {
+       osi_free(btm_multi_adv_idx_q_ptr);
+       btm_multi_adv_idx_q_ptr = NULL;
+    }
 #endif
 }