Skip to content

Commit dcc3818

Browse files
Add missing reserved file names (#371)
1 parent 24b9367 commit dcc3818

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

cap-primitives/src/windows/fs/open_impl.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ pub(crate) fn open_impl(
1010
) -> io::Result<fs::File> {
1111
// Windows reserves several special device paths. Disallow opening any
1212
// of them.
13+
// See: https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions
1314
if let Some(stem) = path.file_stem() {
1415
if let Some(stemstr) = stem.to_str() {
1516
match stemstr.to_uppercase().as_str() {
1617
"CON" | "PRN" | "AUX" | "NUL" | "COM0" | "COM1" | "COM2" | "COM3" | "COM4"
17-
| "COM5" | "COM6" | "COM7" | "COM8" | "COM9" | "LPT0" | "LPT1" | "LPT2"
18-
| "LPT3" | "LPT4" | "LPT5" | "LPT6" | "LPT7" | "LPT8" | "LPT9" => {
18+
| "COM5" | "COM6" | "COM7" | "COM8" | "COM9" | "COM¹" | "COM²" | "COM³"
19+
| "LPT0" | "LPT1" | "LPT2" | "LPT3" | "LPT4" | "LPT5" | "LPT6" | "LPT7"
20+
| "LPT8" | "LPT9" | "LPT¹" | "LPT²" | "LPT³" => {
1921
return Err(io::Error::from_raw_os_error(ERROR_FILE_NOT_FOUND as i32));
2022
}
2123
_ => {}

0 commit comments

Comments
 (0)