Revert the previous SR commit for binary stabilization
[platform/core/connectivity/bluetooth-frwk.git] / bt-api / bt-gatt-service.c
index 50957ba..b46357d 100644 (file)
@@ -261,7 +261,7 @@ static int __bt_send_event_to_hps(int event, GVariant *var)
                parameters = g_variant_new("(a{sv}as)", inner_builder, invalidated_builder);
                g_variant_builder_unref(invalidated_builder);
                g_variant_builder_unref(inner_builder);
-       } else if (BLUETOOTH_EVENT_GATT_SERVER_READ_REQUESTED) {
+       } else if (event == BLUETOOTH_EVENT_GATT_SERVER_READ_REQUESTED) {
                GVariantBuilder *inner_builder;
                GVariantBuilder *invalidated_builder;
 
@@ -275,6 +275,8 @@ static int __bt_send_event_to_hps(int event, GVariant *var)
                parameters = g_variant_new("(a{sv}as)", inner_builder, invalidated_builder);
                g_variant_builder_unref(invalidated_builder);
                g_variant_builder_unref(inner_builder);
+       } else {
+               g_varaiant_unref(var);
        }
 
        msg = g_dbus_message_new_signal(BT_HPS_OBJECT_PATH, BT_HPS_INTERFACE_NAME, PROPERTIES_CHANGED);
@@ -724,7 +726,7 @@ static void __bt_gatt_char_method_call(GDBusConnection *connection,
                        if (response_needed)
                                g_dbus_method_invocation_return_value(invocation, NULL);
                        else
-                               g_object_unref (invocation);
+                               g_object_unref(invocation);
                        return;
                }
 
@@ -735,7 +737,7 @@ static void __bt_gatt_char_method_call(GDBusConnection *connection,
                        if (response_needed)
                                g_dbus_method_invocation_return_value(invocation, NULL);
                        else
-                               g_object_unref (invocation);
+                               g_object_unref(invocation);
                        return;
                }
 
@@ -751,15 +753,6 @@ static void __bt_gatt_char_method_call(GDBusConnection *connection,
                        char *data;
 
                        value_change.att_value = (guint8 *)g_malloc(len);
-                       if (!value_change.att_value) {
-                               BT_ERR("att_value is NULL");
-                               g_variant_unref(var);
-                               if (response_needed)
-                                       g_dbus_method_invocation_return_value(invocation, NULL);
-                               else
-                                       g_object_unref (invocation);
-                               return;
-                       }
 
                        data = (char *)g_variant_get_data(var);
                        memcpy(value_change.att_value, data, len);
@@ -776,7 +769,7 @@ static void __bt_gatt_char_method_call(GDBusConnection *connection,
                        req_info->context = invocation;
                        gatt_requests = g_slist_append(gatt_requests, req_info);
                } else {
-                       g_object_unref (invocation);
+                       g_object_unref(invocation);
                }
 
                _bt_common_event_cb(
@@ -962,7 +955,7 @@ static void __bt_gatt_desc_method_call(GDBusConnection *connection,
                        if (response_needed)
                                g_dbus_method_invocation_return_value(invocation, NULL);
                        else
-                               g_object_unref (invocation);
+                               g_object_unref(invocation);
                        return;
                }
 
@@ -973,7 +966,7 @@ static void __bt_gatt_desc_method_call(GDBusConnection *connection,
                        if (response_needed)
                                g_dbus_method_invocation_return_value(invocation, NULL);
                        else
-                               g_object_unref (invocation);
+                               g_object_unref(invocation);
                        return;
                }
 
@@ -989,15 +982,7 @@ static void __bt_gatt_desc_method_call(GDBusConnection *connection,
                        char *data;
 
                        value_change.att_value = (guint8 *)g_malloc(len);
-                       if (!value_change.att_value) {
-                               BT_ERR("att_value is NULL");
-                               g_variant_unref(var);
-                               if (response_needed)
-                                       g_dbus_method_invocation_return_value(invocation, NULL);
-                               else
-                                       g_object_unref (invocation);
-                               return;
-                       }
+
                        data = (char *)g_variant_get_data(var);
                        memcpy(value_change.att_value, data, len);
                }
@@ -1013,7 +998,7 @@ static void __bt_gatt_desc_method_call(GDBusConnection *connection,
                        req_info->context = invocation;
                        gatt_requests = g_slist_append(gatt_requests, req_info);
                } else {
-                       g_object_unref (invocation);
+                       g_object_unref(invocation);
                }
 
                _bt_common_event_cb(
@@ -1535,6 +1520,7 @@ static GDBusConnection *__bt_gatt_get_gdbus_connection(void)
                                        NULL, /* GDBusAuthObserver */
                                        NULL,
                                        &err);
+               g_free(address);
                if (!g_conn) {
                        if (err) {
                                BT_ERR("Unable to connect to dbus: %s", err->message);
@@ -1558,7 +1544,7 @@ static GDBusConnection *__bt_gatt_get_gdbus_connection(void)
                                        NULL, /* GDBusAuthObserver */
                                        NULL,
                                        &err);
-
+               g_free(address);
                if (!local_system_gconn) {
                        BT_ERR("Unable to connect to dbus: %s", err->message);
                        g_clear_error(&err);
@@ -1602,7 +1588,6 @@ BT_EXPORT_API int bluetooth_gatt_init(void)
        /* Register ObjectManager interface */
        node_info = __bt_gatt_create_method_node_info(
                                        manager_introspection_xml);
-
        if (node_info == NULL) {
                BT_ERR("failed to get node info");
                goto failed;
@@ -1616,7 +1601,7 @@ BT_EXPORT_API int bluetooth_gatt_init(void)
                                                        &manager_interface_vtable,
                                                        NULL, NULL, &error);
        }
-
+       g_dbus_node_info_unref(node_info);
        if (manager_id == 0) {
                BT_ERR("failed to register: %s", error->message);
                g_error_free(error);
@@ -1697,7 +1682,6 @@ BT_EXPORT_API int bluetooth_gatt_add_service(const char *svc_uuid,
 
        node_info = __bt_gatt_create_method_node_info(
                                        service_introspection_xml);
-
        if (node_info == NULL)
                return BLUETOOTH_ERROR_INTERNAL;
 
@@ -1708,6 +1692,7 @@ BT_EXPORT_API int bluetooth_gatt_add_service(const char *svc_uuid,
                                        node_info->interfaces[0],
                                        &serv_interface_vtable,
                                        NULL, NULL, &error);
+       g_dbus_node_info_unref(node_info);
 
        if (object_id == 0) {
                BT_ERR("failed to register: %s", error->message);
@@ -1801,7 +1786,6 @@ BT_EXPORT_API int bluetooth_gatt_add_new_characteristic(
 
        node_info = __bt_gatt_create_method_node_info(
                                        characteristics_introspection_xml);
-
        if (node_info == NULL)
                return BLUETOOTH_ERROR_INTERNAL;
 
@@ -1812,6 +1796,7 @@ BT_EXPORT_API int bluetooth_gatt_add_new_characteristic(
                                        node_info->interfaces[0],
                                        &char_interface_vtable,
                                        NULL, NULL, &error);
+       g_dbus_node_info_unref(node_info);
 
        if (object_id == 0) {
                BT_ERR("failed to register: %s", error->message);
@@ -2002,7 +1987,6 @@ BT_EXPORT_API int bluetooth_gatt_add_descriptor(
 
        node_info = __bt_gatt_create_method_node_info(
                                        descriptor_introspection_xml);
-
        if (node_info == NULL) {
                g_strfreev(line_argv);
                g_free(serv_path);
@@ -2016,6 +2000,7 @@ BT_EXPORT_API int bluetooth_gatt_add_descriptor(
                                node_info->interfaces[0],
                                &desc_interface_vtable,
                                NULL, NULL, &error);
+       g_dbus_node_info_unref(node_info);
 
        if (object_id == 0) {
                BT_ERR("failed to register: %s", error->message);
@@ -2077,6 +2062,7 @@ BT_EXPORT_API int bluetooth_gatt_add_descriptor(
        g_strfreev(line_argv);
        g_variant_builder_unref(inner_builder);
        g_variant_builder_unref(builder);
+       g_variant_builder_unref(builder2);
 
        return BLUETOOTH_ERROR_NONE;
 }
@@ -2291,7 +2277,9 @@ BT_EXPORT_API int bluetooth_gatt_update_characteristic(
                return BLUETOOTH_ERROR_INTERNAL;
        }
 
+/* Fix the svace issue : 185689
        outer_builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
+*/
        invalidated_builder = g_variant_builder_new(G_VARIANT_TYPE("as"));
 
        inner_builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
@@ -2300,6 +2288,7 @@ BT_EXPORT_API int bluetooth_gatt_update_characteristic(
 
        update_value = g_variant_new("ay", inner_builder);
 
+
        outer_builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
        g_variant_builder_add(outer_builder, "{sv}", "Value",
                                        update_value);