Skip to content

Commit 55ceb50

Browse files
committed
pkg/system: update volumePath regex to allow returning earlier
The regex only matched volume paths without a trailing path-separator. In cases where a path would be passed with a trailing path-separator, it would depend on further code in mkdirall to strip the trailing slash, then to perform the regex again in the next iteration. While regexes aren't ideal, we're already executing this one, so we may as well use it to match those situations as well (instead of executing it twice), to allow us to return early. Signed-off-by: Sebastiaan van Stijn <[email protected]>
1 parent cfef1b1 commit 55ceb50

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

pkg/system/filesys_windows.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ import (
1313
const SddlAdministratorsLocalSystem = "D:P(A;OICI;GA;;;BA)(A;OICI;GA;;;SY)"
1414

1515
// volumePath is a regular expression to check if a path is a Windows
16-
// volume path (e.g., "\\?\Volume{4c1b02c1-d990-11dc-99ae-806e6f6e6963}".
17-
var volumePath = regexp.MustCompile(`^\\\\\?\\Volume{[a-z0-9-]+}$`)
16+
// volume path (e.g., "\\?\Volume{4c1b02c1-d990-11dc-99ae-806e6f6e6963}"
17+
// or "\\?\Volume{4c1b02c1-d990-11dc-99ae-806e6f6e6963}\").
18+
var volumePath = regexp.MustCompile(`^\\\\\?\\Volume{[a-z0-9-]+}\\?$`)
1819

1920
// MkdirAllWithACL is a custom version of os.MkdirAll modified for use on Windows
2021
// so that it is both volume path aware, and can create a directory with

0 commit comments

Comments
 (0)