Fix Memory Leaks
[platform/core/connectivity/bluetooth-frwk.git] / bt-api / bt-event-handler.c
index 75fa248..b213807 100644 (file)
@@ -3606,6 +3606,11 @@ static void __bt_gatt_client_event_filter(GDBusConnection *connection,
                _bt_gatt_client_event_cb(BLUETOOTH_EVENT_GATT_CHAR_VAL_CHANGED,
                                result, &char_prop,
                                event_info->cb, event_info->user_data);
+
+               g_variant_unref(svc_uuid_var);
+               g_variant_unref(char_uuid_var);
+               g_variant_unref(data_var);
+
        } else if (strcasecmp(signal_name, BT_GATT_CLIENT_READ_CHAR) == 0) { /* Done */
                /* Event: BLUETOOTH_EVENT_GATT_READ_CHAR */
                BT_DBG("GATT Client event[BT_GATT_CLIENT_READ_CHAR]");
@@ -3651,6 +3656,11 @@ static void __bt_gatt_client_event_filter(GDBusConnection *connection,
                _bt_gatt_client_event_cb(BLUETOOTH_EVENT_GATT_READ_CHAR,
                                result, &char_prop,
                                event_info->cb, event_info->user_data);
+
+               g_variant_unref(svc_uuid_var);
+               g_variant_unref(char_uuid_var);
+               g_variant_unref(data_var);
+
        } else if (strcasecmp(signal_name, BT_GATT_CLIENT_WRITE_CHAR) == 0) { /* Done */
                /* Event: BLUETOOTH_EVENT_GATT_WRITE_CHAR */
                BT_DBG("GATT Client event[BT_GATT_CLIENT_WRITE_CHAR]");
@@ -3689,6 +3699,10 @@ static void __bt_gatt_client_event_filter(GDBusConnection *connection,
                _bt_gatt_client_event_cb(BLUETOOTH_EVENT_GATT_WRITE_CHAR,
                                result, &char_prop,
                                event_info->cb, event_info->user_data);
+
+               g_variant_unref(svc_uuid_var);
+               g_variant_unref(char_uuid_var);
+
        } else if (strcasecmp(signal_name, BT_GATT_CLIENT_READ_DESC) == 0) { /* Done */
                /* Event: BLUETOOTH_EVENT_GATT_READ_DESC */
                BT_DBG("GATT Client event[BT_GATT_CLIENT_READ_DESC]");
@@ -3745,6 +3759,12 @@ static void __bt_gatt_client_event_filter(GDBusConnection *connection,
                _bt_gatt_client_event_cb(BLUETOOTH_EVENT_GATT_READ_DESC,
                                result, &desc_prop,
                                event_info->cb, event_info->user_data);
+
+               g_variant_unref(svc_uuid_var);
+               g_variant_unref(char_uuid_var);
+               g_variant_unref(desc_uuid_var);
+               g_variant_unref(data_var);
+
        } else if (strcasecmp(signal_name, BT_GATT_CLIENT_WRITE_DESC) == 0) { /* Done */
                /* Event: BLUETOOTH_EVENT_GATT_WRITE_DESC */
                BT_DBG("GATT Client event[BT_GATT_CLIENT_WRITE_DESC]");
@@ -3794,6 +3814,11 @@ static void __bt_gatt_client_event_filter(GDBusConnection *connection,
                _bt_gatt_client_event_cb(BLUETOOTH_EVENT_GATT_WRITE_DESC,
                                result, &desc_prop,
                                event_info->cb, event_info->user_data);
+
+               g_variant_unref(svc_uuid_var);
+               g_variant_unref(char_uuid_var);
+               g_variant_unref(desc_uuid_var);
+
        } else if (strcasecmp(signal_name, BT_GATT_CLIENT_SERVICE_CHANGED) == 0) {
                BT_DBG("GATT Client event[BT_GATT_CLIENT_SERVICE_CHANGED]");
                bt_gatt_service_change_t change = {0, };
@@ -3906,6 +3931,8 @@ static void __bt_gatt_server_event_filter(GDBusConnection *connection,
                _bt_gatt_server_event_cb(BLUETOOTH_EVENT_GATT_SERVER_VALUE_CHANGED,
                                BLUETOOTH_ERROR_NONE, &write_info,
                                event_info->cb, event_info->user_data);
+
+               g_variant_unref(data_var);
        } else if (strcasecmp(signal_name, BT_GATT_SERVER_READ_REQ) == 0) {
                const char *address = NULL;
                bluetooth_device_address_t dev_address = { {0} };