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 e1041c87ee5b7970d45f7c58cca07d118334c00e..99572cda7902eacdd200a1e9e7ebf3d329c059dd 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 @@ -181,7 +181,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); @@ -231,7 +233,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);