Skip to content

Commit 93188bd

Browse files
Sergey TsypanovAlan Bateman
Sergey Tsypanov
authored and
Alan Bateman
committedAug 29, 2023
8314569: (fs) Improve normalization of UnixPath for input with trailing slashes
Reviewed-by: alanb, bpb, rriggs
1 parent 8b8182d commit 93188bd

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed
 

‎src/java.base/unix/classes/sun/nio/fs/UnixPath.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import java.nio.file.WatchEvent;
3737
import java.nio.file.WatchKey;
3838
import java.nio.file.WatchService;
39-
import java.nio.file.spi.FileSystemProvider;
4039
import java.util.Arrays;
4140
import java.util.Objects;
4241

@@ -90,8 +89,9 @@ static String normalizeAndCheck(String input) {
9089
checkNotNul(input, c);
9190
prevChar = c;
9291
}
93-
if (prevChar == '/')
94-
return normalize(input, n, n - 1);
92+
if (prevChar == '/' && n > 1) {
93+
return input.substring(0, n - 1);
94+
}
9595
return input;
9696
}
9797

@@ -109,7 +109,7 @@ private static String normalize(String input, int len, int off) {
109109
return "/";
110110
StringBuilder sb = new StringBuilder(input.length());
111111
if (off > 0)
112-
sb.append(input.substring(0, off));
112+
sb.append(input, 0, off);
113113
char prevChar = 0;
114114
for (int i=off; i < n; i++) {
115115
char c = input.charAt(i);

0 commit comments

Comments
 (0)
Please sign in to comment.