Remove prevent error 66/63466/4
authorAbhi Gupta <ag.gupta@samsung.com>
Thu, 24 Mar 2016 06:27:47 +0000 (11:57 +0530)
committerAbhi Gupta <ag.gupta@samsung.com>
Thu, 24 Mar 2016 07:15:57 +0000 (12:45 +0530)
Change-Id: I7d1556c14e92ef9d5ef4fe25550f51686b2413fb
Signed-off-by: Abhi Gupta <ag.gupta@samsung.com>
src/common/file-system/mf-ug-fs-oper.c
src/common/mf-ug-file-util.c
src/common/mf-ug-search-internal.c

index 0e67f80..be0ff1d 100644 (file)
@@ -121,6 +121,7 @@ int mf_ug_fs_oper_read_dir(char *path, Eina_List **dir_list, Eina_List **file_li
        UG_TRACE_BEGIN;
        DIR *pDir = NULL;
        struct dirent *ent;
+       struct dirent ent_struct;
 
        ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_ARG, "path is null");
        ug_mf_retvm_if(dir_list == NULL, MYFILE_ERR_INVALID_ARG, "dir_list is null");
@@ -139,8 +140,7 @@ int mf_ug_fs_oper_read_dir(char *path, Eina_List **dir_list, Eina_List **file_li
        if (pDir == NULL) {
                return MYFILE_ERR_DIR_OPEN_FAIL;
        }
-
-       while ((ent = readdir(pDir)) != NULL) {
+       while ((readdir_r(pDir, &ent_struct, &ent) == 0) && ent) {
                GString *childpath = NULL;
                ugFsNodeInfo *pNode = NULL;
 
index b469b85..c63350a 100644 (file)
@@ -80,6 +80,7 @@ int mf_is_dir_empty(const char *path)
 {
        struct stat info = {0,};
        struct dirent *dp = NULL;
+       struct dirent ent_struct;
        DIR *dirp = NULL;
 
        dirp = opendir(path);
@@ -87,7 +88,7 @@ int mf_is_dir_empty(const char *path)
                return -1;
        }
 
-       while ((dp = readdir(dirp))) {
+       while ((readdir_r(dirp, &ent_struct, &dp) == 0) && dp) {
                if (stat(dp->d_name, &info) == 0 && (strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) {
                        closedir(dirp);
                        return 0;
@@ -201,6 +202,7 @@ Eina_List *mf_file_ls(const char *dir)
        char *f = NULL;
        DIR *dirp = NULL;
        struct dirent *dp = NULL;
+       struct dirent ent_struct;
        Eina_List *list = NULL;
 
        dirp = opendir(dir);
@@ -208,7 +210,7 @@ Eina_List *mf_file_ls(const char *dir)
                return NULL;
        }
 
-       while ((dp = readdir(dirp))) {
+       while ((readdir_r(dirp, &ent_struct, &dp) == 0) && dp) {
                if ((strcmp(dp->d_name , ".")) && (strcmp(dp->d_name , ".."))) {
                        f = strdup(dp->d_name);
                        list = eina_list_append(list, f);
@@ -225,6 +227,7 @@ int mf_file_recursive_rm(const char *dir)
 {
        char buf[PATH_MAX_SIZE] = {0,};
        struct dirent *dp = NULL;
+       struct dirent ent_struct;
        DIR *dirp = NULL;
 
        if (readlink(dir, buf, sizeof(buf)) > 0) {
@@ -236,7 +239,7 @@ int mf_file_recursive_rm(const char *dir)
                ret = 1;
                dirp = opendir(dir);
                if (dirp) {
-                       while ((dp = readdir(dirp))) {
+                       while ((readdir_r(dirp, &ent_struct, &dp) == 0) && dp) {
                                if ((strcmp(dp->d_name , ".")) && (strcmp(dp->d_name, ".."))) {
                                        if (!mf_file_recursive_rm(dp->d_name)) {
                                                ret = 0;
index 55900f0..07b3d12 100644 (file)
@@ -390,7 +390,7 @@ static GList *__mf_ug_search_do_find(const char *root,
 {
        DIR *directory = NULL;
        GList *candidate = NULL;
-
+       struct dirent ent_struct;
        char *up_needle = NULL;
        char *up_name = NULL;
        gboolean multi_ext_flag = FALSE;
@@ -431,7 +431,7 @@ static GList *__mf_ug_search_do_find(const char *root,
                result->current_dir = g_strdup(root);
                __mf_ug_search_thread_unlock(handle);
                multi_ext_flag = __mf_ug_search_NFD_is_multi_ext(needle);
-               while ((entry = readdir(directory)) != NULL) {
+               while ((readdir_r(directory, &ent_struct, &entry) == 0) && entry) {
                        if (!(option & MF_SEARCH_OPT_HIDDEN) && (0 == strncmp(entry->d_name, ".", 1))) {
                                SECURE_DEBUG("[%s] is hidden file. Skip it", entry->d_name);
                                continue;