mirror of
https://github.com/gogs/gogs.git
synced 2025-10-07 23:21:48 +00:00
pkg/tool/path: handle Windows path separators (#5558)
This commit is contained in:
parent
d4f9fd7204
commit
8c8c37a66b
@ -19,5 +19,6 @@ func IsSameSiteURLPath(url string) bool {
|
|||||||
func SanitizePath(path string) string {
|
func SanitizePath(path string) string {
|
||||||
path = strings.TrimLeft(path, "/")
|
path = strings.TrimLeft(path, "/")
|
||||||
path = strings.Replace(path, "../", "", -1)
|
path = strings.Replace(path, "../", "", -1)
|
||||||
|
path = strings.Replace(path, "..\\", "", -1)
|
||||||
return path
|
return path
|
||||||
}
|
}
|
||||||
|
@ -39,8 +39,11 @@ func Test_SanitizePath(t *testing.T) {
|
|||||||
}{
|
}{
|
||||||
{"../../../../../../../../../data/gogs/data/sessions/a/9/a9f0ab6c3ef63dd8", "data/gogs/data/sessions/a/9/a9f0ab6c3ef63dd8"},
|
{"../../../../../../../../../data/gogs/data/sessions/a/9/a9f0ab6c3ef63dd8", "data/gogs/data/sessions/a/9/a9f0ab6c3ef63dd8"},
|
||||||
{"data/gogs/../../../../../../../../../data/sessions/a/9/a9f0ab6c3ef63dd8", "data/gogs/data/sessions/a/9/a9f0ab6c3ef63dd8"},
|
{"data/gogs/../../../../../../../../../data/sessions/a/9/a9f0ab6c3ef63dd8", "data/gogs/data/sessions/a/9/a9f0ab6c3ef63dd8"},
|
||||||
|
{"..\\..\\..\\..\\..\\..\\..\\..\\..\\data\\gogs\\data\\sessions\\a\\9\\a9f0ab6c3ef63dd8", "data\\gogs\\data\\sessions\\a\\9\\a9f0ab6c3ef63dd8"},
|
||||||
|
{"data\\gogs\\..\\..\\..\\..\\..\\..\\..\\..\\..\\data\\sessions\\a\\9\\a9f0ab6c3ef63dd8", "data\\gogs\\data\\sessions\\a\\9\\a9f0ab6c3ef63dd8"},
|
||||||
|
|
||||||
{"data/sessions/a/9/a9f0ab6c3ef63dd8", "data/sessions/a/9/a9f0ab6c3ef63dd8"},
|
{"data/sessions/a/9/a9f0ab6c3ef63dd8", "data/sessions/a/9/a9f0ab6c3ef63dd8"},
|
||||||
|
{"data\\sessions\\a\\9\\a9f0ab6c3ef63dd8", "data\\sessions\\a\\9\\a9f0ab6c3ef63dd8"},
|
||||||
}
|
}
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
So(SanitizePath(tc.path), ShouldEqual, tc.expect)
|
So(SanitizePath(tc.path), ShouldEqual, tc.expect)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user