diff --git a/js/builtin/filekit/src/nativeapi_fs_impl.c b/js/builtin/filekit/src/nativeapi_fs_impl.c index cfffa4e3069f9b23f215ac06f259a9f96654df4a..0e723d2299385762ee7a316804f116d46138e1da 100755 --- a/js/builtin/filekit/src/nativeapi_fs_impl.c +++ b/js/builtin/filekit/src/nativeapi_fs_impl.c @@ -79,6 +79,10 @@ static int RmdirRecursive(const char* fileName) goto MALLOC_ERROR; } while (dir != NULL) { + if (strcmp(dir->d_name, ".") == 0 || strcmp(dir->d_name, "..") == 0) { + dir = readdir(fileDir); + continue; + } if (memset_s(fullPath, FILE_NAME_MAX_LEN + 1, 0x0, FILE_NAME_MAX_LEN + 1) != EOK) { goto EXIT; } @@ -378,6 +382,10 @@ int GetFileListImpl(const char* dirName, FileMetaInfo* fileList, unsigned int li goto EXIT; } while ((dir != NULL) && (fileIndex < listNum)) { + if (strcmp(dir->d_name, ".") == 0 || strcmp(dir->d_name, "..") == 0) { + dir = readdir(fileDir); + continue; + } if (memset_s(fullFileName, FILE_NAME_MAX_LEN + 1, 0x0, FILE_NAME_MAX_LEN + 1) != EOK) { goto EXIT; } @@ -416,6 +424,10 @@ int GetFileNum(const char* dirName) struct dirent* dir = readdir(fileDir); int sum = 0; while (dir != NULL) { + if (strcmp(dir->d_name, ".") == 0 || strcmp(dir->d_name, "..") == 0) { + dir = readdir(fileDir); + continue; + } sum++; dir = readdir(fileDir); } diff --git a/js/builtin/kvstorekit/src/nativeapi_kv_impl.c b/js/builtin/kvstorekit/src/nativeapi_kv_impl.c index bfbcd66fdecbd5ec7806f86c5fb74cc01ae0fe52..90f91598e901ae7115123d6ce204dba79d37c16d 100755 --- a/js/builtin/kvstorekit/src/nativeapi_kv_impl.c +++ b/js/builtin/kvstorekit/src/nativeapi_kv_impl.c @@ -178,6 +178,10 @@ int ClearKVStore(const char* dataPath) goto EXIT; } while (dir != NULL) { + if (strcmp(dir->d_name, ".") == 0 || strcmp(dir->d_name, "..") == 0) { + dir = readdir(fileDir); + continue; + } if (memset_s(fullPath, FILE_NAME_MAX_LEN + 1, 0x0, FILE_NAME_MAX_LEN + 1) != EOK) { goto EXIT; }