Fix memory leak when scanning 93/301693/2 accepted/tizen/7.0/unified/20231124.024930
authorWootak Jung <wootak.jung@samsung.com>
Wed, 22 Nov 2023 01:29:51 +0000 (10:29 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Wed, 22 Nov 2023 04:18:03 +0000 (13:18 +0900)
Change-Id: I312e57b2f8a066f1085813103cd942fea1135a3e
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
bt-oal/bluez_hal/src/bt-hal-gatt.c

index fcb7c81..63606d4 100644 (file)
@@ -814,16 +814,20 @@ static void __bt_hal_handle_gatt_client_scan_result(void *buf, uint16_t len)
 #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);
        }
 }