func isSubPath()

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
}