in cmd/cloudshell_open/main.go [585:599]
func isSubPath(a, b string) (bool, error) {
a, err := filepath.Abs(a)
if err != nil {
return false, fmt.Errorf("failed to get absolute path for %s: %+v", a, err)
}
b, err = filepath.Abs(b)
if err != nil {
return false, fmt.Errorf("failed to get absolute path for %s: %+v", b, err)
}
v, err := filepath.Rel(a, b)
if err != nil {
return false, fmt.Errorf("failed to calculate relative path: %v", err)
}
return !strings.HasPrefix(v, ".."+string(os.PathSeparator)), nil
}