mirror of https://github.com/docker/docs.git
Fixes 5370 infinite/maxLoopCount loop for relative symlinks
use path.IsAbs() instead of checking if first char is '/' Docker-DCO-1.1-Signed-off-by: Lajos Papp <lajos.papp@sequenceiq.com> (github: lalyos)
This commit is contained in:
parent
b51c366bfc
commit
ad35d522db
1
AUTHORS
1
AUTHORS
|
@ -189,6 +189,7 @@ Kimbro Staken <kstaken@kstaken.com>
|
||||||
Kiran Gangadharan <kiran.daredevil@gmail.com>
|
Kiran Gangadharan <kiran.daredevil@gmail.com>
|
||||||
Konstantin Pelykh <kpelykh@zettaset.com>
|
Konstantin Pelykh <kpelykh@zettaset.com>
|
||||||
Kyle Conroy <kyle.j.conroy@gmail.com>
|
Kyle Conroy <kyle.j.conroy@gmail.com>
|
||||||
|
Lajos Papp <lajos.papp@sequenceiq.com>
|
||||||
Laurie Voss <github@seldo.com>
|
Laurie Voss <github@seldo.com>
|
||||||
Liang-Chi Hsieh <viirya@gmail.com>
|
Liang-Chi Hsieh <viirya@gmail.com>
|
||||||
Lokesh Mandvekar <lsm5@redhat.com>
|
Lokesh Mandvekar <lsm5@redhat.com>
|
||||||
|
|
|
@ -63,10 +63,9 @@ func FollowSymlinkInScope(link, root string) (string, error) {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
switch dest[0] {
|
if path.IsAbs(dest) {
|
||||||
case '/':
|
|
||||||
prev = filepath.Join(root, dest)
|
prev = filepath.Join(root, dest)
|
||||||
case '.':
|
} else {
|
||||||
prev, _ = filepath.Abs(prev)
|
prev, _ = filepath.Abs(prev)
|
||||||
|
|
||||||
if prev = filepath.Clean(filepath.Join(filepath.Dir(prev), dest)); len(prev) < len(root) {
|
if prev = filepath.Clean(filepath.Join(filepath.Dir(prev), dest)); len(prev) < len(root) {
|
||||||
|
|
Loading…
Reference in New Issue