diff --git a/src/permission/fs_permission.cc b/src/permission/fs_permission.cc index fd3b159f579b..6293844476f3 100644 --- a/src/permission/fs_permission.cc +++ b/src/permission/fs_permission.cc @@ -16,17 +16,17 @@ namespace { std::string WildcardIfDir(const std::string& res) noexcept { uv_fs_t req; int rc = uv_fs_stat(nullptr, &req, res.c_str(), nullptr); - if (rc == 0) { - const uv_stat_t* const s = static_cast(req.ptr); - if ((s->st_mode & S_IFMT) == S_IFDIR) { - // add wildcard when directory - if (res.back() == node::kPathSeparator) { - return res + "*"; - } - return res + node::kPathSeparator + "*"; + const bool is_dir = + rc == 0 && + (static_cast(req.ptr)->st_mode & S_IFMT) == S_IFDIR; + uv_fs_req_cleanup(&req); + if (is_dir) { + // add wildcard when directory + if (res.back() == node::kPathSeparator) { + return res + "*"; } + return res + node::kPathSeparator + "*"; } - uv_fs_req_cleanup(&req); return res; }