mirror of
https://github.com/gin-gonic/gin.git
synced 2026-09-04 14:49:27 +08:00
fix: [security] Bad redirect check
* fix: [security] Bad redirect check
This commit is contained in:
parent
dcaa4296d1
commit
3015d947ac
7
path.go
7
path.go
@ -25,6 +25,13 @@ func cleanPath(p string) string {
|
||||
if p == "" {
|
||||
return "/"
|
||||
}
|
||||
// Prevent scheme-relative ("//...") or backslash-based absolute ("/\\...") paths.
|
||||
for len(p) > 1 && p[0] == '/' && p[1] == '/' {
|
||||
p = p[1:]
|
||||
}
|
||||
if len(p) > 1 && p[0] == '/' && p[1] == '\\' {
|
||||
p = "/" + p[2:]
|
||||
}
|
||||
|
||||
// Reasonably sized buffer on stack to avoid allocations in the common case.
|
||||
// If a larger buffer is required, it gets allocated dynamically.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user