Fix dbus delay when requesting hello
[platform/core/uifw/stt.git] / server / sttd_client_data.c
index fafb50d..f89349a 100644 (file)
@@ -103,6 +103,10 @@ int sttd_client_add(int pid, int uid)
 
        if (NULL == g_client_list) {
                SLOG(LOG_ERROR, TAG_STTD, "[Client Data ERROR] Fail to add new client");
+
+               free(info);
+               info = NULL;
+
                return STTD_ERROR_OPERATION_FAILED;
        }
 
@@ -402,10 +406,18 @@ int sttd_client_get_list(int** uids, int* uid_count)
        int i = 0;
 
        iter = g_slist_nth(g_client_list, 0);
-       for (i = 0; i < count; i++) {
+       while (NULL != iter) {
+               if (NULL == iter->data) {
+                       count--;
+                       iter = g_slist_next(iter);
+                       continue;
+               }
+
                data = iter->data;
                tmp[i] = data->uid;
                iter = g_slist_next(iter);
+
+               i++;
        }
 
        *uids = tmp;
@@ -466,4 +478,4 @@ bool stt_client_get_app_agreed(int uid)
 
        hnd = tmp->data;
        return hnd->app_agreed;
-}
\ No newline at end of file
+}