Fix coverity - dbus_connection_unref
[platform/core/uifw/stt.git] / server / sttd_dbus.c
index 0f68473..28298be 100644 (file)
@@ -350,11 +350,6 @@ int sttdc_send_result(int uid, int event, const char** data, int data_count, con
 
 int sttdc_send_error_signal(int uid, int reason, const char *err_msg)
 {
-       if (NULL == err_msg) {
-               SLOG(LOG_ERROR, TAG_STTD, "[Dbus ERROR] Input parameter is NULL");
-               return STTD_ERROR_INVALID_PARAMETER;
-       }
-
        int pid = sttd_client_get_pid(uid);
        if (0 > pid) {
                SLOG(LOG_ERROR, TAG_STTD, "[Dbus ERROR] pid is NOT valid");
@@ -475,6 +470,11 @@ static Eina_Bool listener_event_callback(void* data, Ecore_Fd_Handler *fd_handle
        else if (dbus_message_is_method_call(msg, g_server_service_interface, STT_METHOD_CANCEL))
                sttd_dbus_server_cancel(g_conn_listener, msg);
 
+       else if (dbus_message_is_method_call(msg, g_server_service_interface, STT_METHOD_START_FILE))
+               sttd_dbus_server_start_file(g_conn_listener, msg);
+
+       else if (dbus_message_is_method_call(msg, g_server_service_interface, STT_METHOD_CANCEL_FILE))
+               sttd_dbus_server_cancel_file(g_conn_listener, msg);
 
        /* free the message */
        dbus_message_unref(msg);
@@ -504,17 +504,14 @@ void __sttd_dbus_connection_free()
 {
        if (NULL != g_conn_listener) {
                dbus_connection_close(g_conn_listener);
-               dbus_connection_unref(g_conn_listener);
                g_conn_listener = NULL;
        }
        if (NULL != g_conn_sender) {
                dbus_connection_close(g_conn_sender);
-               dbus_connection_unref(g_conn_sender);
                g_conn_sender = NULL;
        }
        if (NULL != g_conn_custom) {
                dbus_connection_close(g_conn_custom);
-               dbus_connection_unref(g_conn_custom);
                g_conn_custom = NULL;
        }
 }
@@ -583,20 +580,26 @@ int __sttd_get_buxtonkey()
 
        __sttd_dbus_service_free();
 
-       if (NULL == engine_appid || NULL == engine_default || 0 == strncmp(engine_appid, engine_default, strlen(engine_appid))) {
+       if (NULL == engine_default || 0 == strncmp(engine_appid, engine_default, strlen(engine_appid))) {
                g_server_service_name = (char*)calloc(strlen(STT_SERVER_SERVICE_NAME) + 1, sizeof(char));
-               snprintf(g_server_service_name, strlen(STT_SERVER_SERVICE_NAME) + 1, "%s", STT_SERVER_SERVICE_NAME);
+               if (g_server_service_name)
+                       snprintf(g_server_service_name, strlen(STT_SERVER_SERVICE_NAME) + 1, "%s", STT_SERVER_SERVICE_NAME);
                g_server_service_object = (char*)calloc(strlen(STT_SERVER_SERVICE_OBJECT_PATH) + 1, sizeof(char));
-               snprintf(g_server_service_object, strlen(STT_SERVER_SERVICE_OBJECT_PATH) + 1, "%s", STT_SERVER_SERVICE_OBJECT_PATH);
+               if (g_server_service_object)
+                       snprintf(g_server_service_object, strlen(STT_SERVER_SERVICE_OBJECT_PATH) + 1, "%s", STT_SERVER_SERVICE_OBJECT_PATH);
                g_server_service_interface = (char*)calloc(strlen(STT_SERVER_SERVICE_INTERFACE) + 1, sizeof(char));
-               snprintf(g_server_service_interface, strlen(STT_SERVER_SERVICE_INTERFACE) + 1, "%s", STT_SERVER_SERVICE_INTERFACE);
+               if (g_server_service_interface)
+                       snprintf(g_server_service_interface, strlen(STT_SERVER_SERVICE_INTERFACE) + 1, "%s", STT_SERVER_SERVICE_INTERFACE);
        } else {
                g_server_service_name = (char*)calloc(strlen(STT_SERVER_SERVICE_NAME) + strlen(engine_appid) - 8, sizeof(char));
-               snprintf(g_server_service_name, strlen(STT_SERVER_SERVICE_NAME) + strlen(engine_appid) - 8, "%s%s%s", STT_SERVER_SERVICE_NAME, ".", (engine_appid + 10));
+               if (g_server_service_name)
+                       snprintf(g_server_service_name, strlen(STT_SERVER_SERVICE_NAME) + strlen(engine_appid) - 8, "%s%s%s", STT_SERVER_SERVICE_NAME, ".", (engine_appid + 10));
                g_server_service_object = (char*)calloc(strlen(STT_SERVER_SERVICE_OBJECT_PATH) + strlen(engine_appid) - 8, sizeof(char));
-               snprintf(g_server_service_object, strlen(STT_SERVER_SERVICE_OBJECT_PATH) + strlen(engine_appid) - 8, "%s%s%s", STT_SERVER_SERVICE_OBJECT_PATH, "/", (engine_appid + 10));
+               if (g_server_service_object)
+                       snprintf(g_server_service_object, strlen(STT_SERVER_SERVICE_OBJECT_PATH) + strlen(engine_appid) - 8, "%s%s%s", STT_SERVER_SERVICE_OBJECT_PATH, "/", (engine_appid + 10));
                g_server_service_interface = (char*)calloc(strlen(STT_SERVER_SERVICE_INTERFACE) + strlen(engine_appid) - 8, sizeof(char));
-               snprintf(g_server_service_interface, strlen(STT_SERVER_SERVICE_INTERFACE) + strlen(engine_appid) - 8, "%s%s%s", STT_SERVER_SERVICE_INTERFACE, ".", (engine_appid + 10));
+               if (g_server_service_interface)
+                       snprintf(g_server_service_interface, strlen(STT_SERVER_SERVICE_INTERFACE) + strlen(engine_appid) - 8, "%s%s%s", STT_SERVER_SERVICE_INTERFACE, ".", (engine_appid + 10));
        }
 
        if (NULL == g_server_service_name || NULL == g_server_service_object || NULL == g_server_service_interface) {
@@ -672,7 +675,6 @@ int __sttd_request_custom_dbus_name()
        }
 
        dbus_connection_close(g_conn_custom);
-       dbus_connection_unref(g_conn_custom);
        g_conn_custom = NULL;
 
        SLOG(LOG_DEBUG, TAG_STTD, "==");