Fix coverity issues
[platform/core/connectivity/zigbee-manager.git] / zigbee-daemon / zigbee-interface / src / zigbee_service_dbus_interface_service.c
index 9403883..75cc3d3 100644 (file)
@@ -451,6 +451,9 @@ static void on_service_get_network_info_resp(ZigBeeServiceInterface *service_int
                payload->result, v_eui64, payload->node_id,
                payload->pan_id, payload->channel, payload->radio_tx_power);
 
+       if (v_eui64)
+               g_variant_unref(v_eui64);
+
        g_free(cb_data);
 }
 
@@ -701,8 +704,8 @@ static void on_service_get_device_list_resp(ZigBeeServiceInterface *service_inte
        invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
        zblib_check_null_free_and_ret("invocation", invocation, cb_data);
 
-       /* To-To : zigbee_service_complete_get_device_list */
-       //zigbee_service_complete_get_device_list(service_object, invocation,   resp_data);
+       /* TODO : zigbee_service_complete_get_device_list */
+       /* zigbee_service_complete_get_device_list(service_object, invocation, resp_data); */
 
        g_free(cb_data);
 }
@@ -784,6 +787,9 @@ static void on_service_get_mac_resp(ZigBeeServiceInterface *service_interface,
        zigbee_service_complete_get_mac(service_object, invocation, payload->result,
                v_eui64);
 
+       if (v_eui64)
+               g_variant_unref(v_eui64);
+
        g_free(cb_data);
 }
 
@@ -861,31 +867,32 @@ static void on_service_get_device_info_resp(ZigBeeServiceInterface *service_inte
        invocation = zigbee_service_dbus_interface_ref_invocation(cb_data);
        zblib_check_null_free_and_ret("invocation", invocation, cb_data);
 
-       builder = g_variant_builder_new(G_VARIANT_TYPE ("a(qyayyay)"));
+       builder = g_variant_builder_new(G_VARIANT_TYPE("a(qyayyay)"));
        for (index = 0; index < payload->count; index++) {
                ZigbeeServiceGetDeviceInfoDetailResp_t *device = &(payload->list[index]);
-               GVariantBuilder* mac_builder = g_variant_builder_new(G_VARIANT_TYPE ("ay"));
-               GVariantBuilder* endpoint_builder = g_variant_builder_new(G_VARIANT_TYPE ("ay"));
+               GVariantBuilder* mac_builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
+               GVariantBuilder* endpoint_builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
 
-               for (i = 0; i < ZIGBEE_EUI64_SIZE; i++) {
-                       g_variant_builder_add (mac_builder, "y", device->eui64[i]);
-               }
-               for (i = 0; i < device->endpoint_count; i++) {
-                       g_variant_builder_add (endpoint_builder, "y", device->endpoints[i]);
-               }
+               for (i = 0; i < ZIGBEE_EUI64_SIZE; i++)
+                       g_variant_builder_add(mac_builder, "y", device->eui64[i]);
+               for (i = 0; i < device->endpoint_count; i++)
+                       g_variant_builder_add(endpoint_builder, "y", device->endpoints[i]);
 
-               g_variant_builder_add (builder, "(qyayyay)",
+               g_variant_builder_add(builder, "(qyayyay)",
                        device->node_id, device->node_type,
                        mac_builder, device->endpoint_count, endpoint_builder);
 
-               g_variant_builder_unref (mac_builder);
-               g_variant_builder_unref (endpoint_builder);
+               g_variant_builder_unref(mac_builder);
+               g_variant_builder_unref(endpoint_builder);
        }
 
        variant = g_variant_builder_end(builder);
        zigbee_service_complete_get_device_info(service_object, invocation,
                payload->result, variant);
 
+       if (variant)
+               g_variant_unref(variant);
+
        g_free(cb_data);
 }
 
@@ -965,6 +972,9 @@ static void on_service_get_endpoint_list_resp(ZigBeeServiceInterface *service_in
        zigbee_service_complete_get_endpoint_list(service_object, invocation,
                payload->result, v_endpoints);
 
+       if (v_endpoints)
+               g_variant_unref(v_endpoints);
+
        g_free(cb_data);
 }
 
@@ -1064,6 +1074,11 @@ static void on_service_get_cluster_list_resp(ZigBeeServiceInterface *service_int
        zigbee_service_complete_get_cluster_list(service_object, invocation,
                payload->result, v_in_clusters, v_out_clusters);
 
+       if (v_in_clusters)
+               g_variant_unref(v_in_clusters);
+       if (v_out_clusters)
+               g_variant_unref(v_out_clusters);
+
        g_free(cb_data);
 }
 
@@ -1245,7 +1260,7 @@ void zigbee_service_dbus_interface_service_notification(ZigBeeServiceInterface *
 
        NOT_USED(noti_cb_data);
 
-       switch(noti_id) {
+       switch (noti_id) {
        case ZBLIB_SERVICE_NOTI_FORM_NETWORK_DONE: {
                ZigbeeServiceServiceFormNetworkDone_t *panid_t =
                        (ZigbeeServiceServiceFormNetworkDone_t*)noti_data;
@@ -1268,14 +1283,14 @@ void zigbee_service_dbus_interface_service_notification(ZigBeeServiceInterface *
                        child_t->endpoints, child_t->endpoint_count, TRUE, NULL, NULL);
                if (NULL == v_eui64 || NULL == v_endpoints) {
                        Z_LOGE("Failed to create variant!");
-                       if (v_eui64)
-                               g_object_unref(v_eui64);
-                       if (v_endpoints)
-                               g_object_unref(v_endpoints);
                } else {
                        zigbee_service_emit_child_joined(service_object,
                                v_eui64, child_t->endpoint_count, v_endpoints, child_t->node_id);
                }
+               if (v_eui64)
+                       g_variant_unref(v_eui64);
+               if (v_endpoints)
+                       g_variant_unref(v_endpoints);
        }
        break;
        case ZBLIB_SERVICE_NOTI_CHILD_REJOINED: {
@@ -1284,11 +1299,10 @@ void zigbee_service_dbus_interface_service_notification(ZigBeeServiceInterface *
 
                GVariant *v_eui64 = g_variant_new_from_data(G_VARIANT_TYPE("a(y)"),
                        child_t->eui64, ZIGBEE_EUI64_SIZE, TRUE, NULL, NULL);
-               if (NULL == v_eui64) {
+               if (NULL == v_eui64)
                        Z_LOGE("Failed to create variant!");
-               } else {
+               else
                        zigbee_service_emit_child_rejoined(service_object, v_eui64);
-               }
        }
        break;
        case ZBLIB_SERVICE_NOTI_CHILD_LEFT: {
@@ -1297,11 +1311,12 @@ void zigbee_service_dbus_interface_service_notification(ZigBeeServiceInterface *
 
                GVariant *v_eui64 = g_variant_new_from_data(G_VARIANT_TYPE("a(y)"),
                        child_left_t->eui64, ZIGBEE_EUI64_SIZE, TRUE, NULL, NULL);
-               if (NULL == v_eui64) {
+               if (NULL == v_eui64)
                        Z_LOGE("Failed to create variant!");
-               else {
+               else {
                        zigbee_service_emit_child_left(service_object,
                                v_eui64, child_left_t->status);
+                       g_variant_unref(v_eui64);
                }
        }
        break;