Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fs.rmSync returns wrong error code for not empty directory #57095

Closed
koplas opened this issue Feb 16, 2025 · 0 comments · Fixed by #57103
Closed

fs.rmSync returns wrong error code for not empty directory #57095

koplas opened this issue Feb 16, 2025 · 0 comments · Fixed by #57103
Labels
fs Issues and PRs related to the fs subsystem / file system.

Comments

@koplas
Copy link
Contributor

koplas commented Feb 16, 2025

Version

v23.7.0

Platform

Darwin redacted 24.3.0 Darwin Kernel Version 24.3.0: Thu Jan  2 20:22:58 PST 2025; root:xnu-11215.81.4~3/RELEASE_ARM64_T8132 arm64

Subsystem

No response

What steps will reproduce the bug?

Call fs.rmSync on a not empty directory.

How often does it reproduce? Is there a required condition?

The not empty directory error must occur.

What is the expected behavior? Why is that the expected behavior?

Get the result code of ENOTEMPTY.

What do you see instead?

Get the result code of EACCES.

Additional information

The relevant line that returns the wrong error code:

node/src/node_file.cc

Lines 1706 to 1708 in 69fdce2

} else if (error == std::errc::directory_not_empty) {
std::string message = "Directory not empty: " + file_path_str;
return env->ThrowErrnoException(EACCES, "rm", message.c_str(), path_c_str);

A list of constants and their error codes: https://en.cppreference.com/w/cpp/error/errc.

koplas added a commit to koplas/node that referenced this issue Feb 17, 2025
Return the correct error code, when a directory_not_empty error
occurred.

Fixes: nodejs#57095
koplas added a commit to koplas/node that referenced this issue Feb 17, 2025
Return the correct error code, when a directory_not_empty error
occurred.

Fixes: nodejs#57095
koplas added a commit to koplas/node that referenced this issue Feb 17, 2025
Return the correct error code, when a directory_not_empty error
occurred.

Fixes: nodejs#57095
koplas added a commit to koplas/node that referenced this issue Feb 17, 2025
Return the correct error code, when a directory_not_empty error
occurred.

Fixes: nodejs#57095
koplas added a commit to koplas/node that referenced this issue Feb 17, 2025
Return the correct error code, when a directory_not_empty error
occurred.

Fixes: nodejs#57095
koplas added a commit to koplas/node that referenced this issue Feb 18, 2025
Return the correct error code, when a directory_not_empty error
occurred.

Fixes: nodejs#57095
@jakecastelli jakecastelli added the fs Issues and PRs related to the fs subsystem / file system. label Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fs Issues and PRs related to the fs subsystem / file system.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants