diff --git a/interfaces/kits/js/src/mod_fileio/class_dir/dir_n_exporter.cpp b/interfaces/kits/js/src/mod_fileio/class_dir/dir_n_exporter.cpp index 7a7fa28eac655ddfea8a8a995444fd66d86f086c..30d8295277d7c630b5d2b0b4d4fd189ec95232c5 100644 --- a/interfaces/kits/js/src/mod_fileio/class_dir/dir_n_exporter.cpp +++ b/interfaces/kits/js/src/mod_fileio/class_dir/dir_n_exporter.cpp @@ -203,7 +203,9 @@ napi_value DirNExporter::Read(napi_env env, napi_callback_info info) } else if (string(res->d_name) == "." || string(res->d_name) == "..") { continue; } else { - tmpDirent = *res; + if (EOK != memcpy_s(&tmpDirent, sizeof(dirent), res, res->d_reclen)) { + return UniError(errno); + } break; } } while (true); @@ -276,7 +278,10 @@ napi_value DirNExporter::ReadSync(napi_env env, napi_callback_info info) } else if (string(res->d_name) == "." || string(res->d_name) == "..") { continue; } else { - tmpDirent = *res; + if (EOK != memcpy_s(&tmpDirent, sizeof(dirent), res, res->d_reclen)) { + UniError(errno).ThrowErr(env); + return nullptr; + } break; } } while (true);