Fix memory leak when scanning 84/301784/1 accepted/tizen/unified/20231127.164946
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 23:08:14 +0000 (08:08 +0900)
Change-Id: I312e57b2f8a066f1085813103cd942fea1135a3e
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
bt-oal/bluez_hal/src/bt-hal-gatt.c

index 8ef97f70cec6a23315e42044f4a892519c6f311e..5f1e9a666a0c9d83c4af268c01f875feef401a26 100644 (file)
@@ -833,16 +833,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);
        }
 }