Fix memory leak and few cosmetic changes for static tools 29/143629/2
authorSyam Sidhardhan <s.syam@samsung.com>
Mon, 31 Jul 2017 13:00:34 +0000 (18:30 +0530)
committerSyam Sidhardhan <s.syam@samsung.com>
Thu, 10 Aug 2017 17:02:24 +0000 (22:32 +0530)
Static tools demands the code should handle all error cases.
Fix memory leak and static tools demands.

Change-Id: Idebd2ebf0222067da2acc796b19441a5cb0584f1
Signed-off-by: Syam Sidhardhan <s.syam@samsung.com>
bt-api/bt-common.c
bt-api/bt-gatt-service.c
bt-httpproxy/bt-httpproxy.c
bt-service/bt-service-gap-agent.c
bt-service/bt-service-map-client.c
bt-service/bt-service-obex-server.c

index 6422d8d..02e1c90 100644 (file)
@@ -859,7 +859,7 @@ static GDBusProxy *__bt_gdbus_get_device_proxy(char *object_path)
                                                BT_DEVICE_INTERFACE,
                                                NULL, &err);
 
-       if (err) {
+       if (device_gproxy == NULL && err) {
                BT_ERR("Unable to create proxy: %s", err->message);
                g_clear_error(&err);
                return NULL;
@@ -1900,7 +1900,7 @@ GVariant *_bt_get_managed_objects(void)
                        BT_MANAGER_INTERFACE,
                        NULL, &error);
 
-       if (error) {
+       if (manager_proxy == NULL && error) {
                BT_ERR("Unable to create proxy: %s", error->message);
                g_clear_error(&error);
                return NULL;
index 3fc4685..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);
index 102aade..daab5aa 100644 (file)
@@ -1264,13 +1264,6 @@ void _bt_hps_gatt_char_property_changed_event(GVariant *msg,
                                g_byte_array_append(gp_byte_array,
                                        (const guint8 *)g_variant_get_data(val), len);
                                if (gp_byte_array->len != 0) {
-                                       GVariant *byte_array = NULL;
-                                       byte_array = g_variant_new_from_data(
-                                                               G_VARIANT_TYPE_BYTESTRING,
-                                                               gp_byte_array->data,
-                                                               gp_byte_array->len,
-                                                               TRUE, NULL, NULL);
-
                                        if (strcmp(path, http_uri_obj_path)) {
                                                //Retrive URI
                                                _bt_hps_uri_write_cb(NULL, len);
index a747ad5..dccf480 100644 (file)
@@ -1114,8 +1114,8 @@ void _gap_agent_setup_dbus(GapAgentPrivate *agent, GAP_AGENT_FUNC_CB *func_cb,
                priv->busname = NULL;
        } else {
                priv->busname = g_strdup(g_dbus_proxy_get_name(proxy));
-               g_object_unref(proxy);
                BT_DBG("Busname: %s", priv->busname);
+               g_object_unref(proxy);
        }
 
 }
index 3ea576d..3bb4479 100644 (file)
@@ -99,12 +99,11 @@ int _bt_create_session_sync(const char* address, char** session_id)
                                                BT_OBEX_CLIENT_PATH,
                                                BT_OBEX_CLIENT_INTERFACE,
                                                NULL, &err);
-       if (err) {
+       if (session_proxy == NULL && err) {
                BT_ERR("Unable to create session_proxy: %s", err->message);
                g_clear_error(&err);
                return BLUETOOTH_ERROR_INTERNAL;
        }
-       retv_if(session_proxy == NULL, BLUETOOTH_ERROR_INTERNAL);
 
        GVariantBuilder* builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
        g_variant_builder_add(builder, "{sv}", "Target",
@@ -154,12 +153,11 @@ int _bt_destroy_session_sync(const char* session_id)
                                                BT_OBEX_CLIENT_PATH,
                                                BT_OBEX_CLIENT_INTERFACE,
                                                NULL, &err);
-       if (err) {
+       if (session_proxy == NULL && err) {
                BT_ERR("Unable to create session_proxy: %s", err->message);
                g_clear_error(&err);
                return BLUETOOTH_ERROR_INTERNAL;
        }
-       retv_if(session_proxy == NULL, BLUETOOTH_ERROR_INTERNAL);
 
        GVariant *param = g_variant_new("(o)", session_id);
 
index ed85ea3..eeb62b0 100644 (file)
@@ -419,7 +419,7 @@ static GDBusProxy *__bt_get_transfer_proxy(const char *transfer_path)
                                        BT_OBEX_TRANSFER_INTERFACE,
                                        NULL, &err);
 
-       if (err) {
+       if (proxy == NULL && err) {
                BT_ERR("Error : %s", err->message);
                g_clear_error(&err);
                return NULL;
@@ -441,7 +441,7 @@ static GDBusProxy *__bt_get_transfer_properties_proxy(const char *transfer_path)
                                        transfer_path,
                                        BT_PROPERTIES_INTERFACE,
                                        NULL, &err);
-       if (err) {
+       if (proxy == NULL && err) {
                BT_ERR("Error : %s", err->message);
                g_clear_error(&err);
                return NULL;