yorukot/superfile · error

%s is not under filesystem root %s

Error message

%s is not under filesystem root %s

What it means

Error "%s is not under filesystem root %s" thrown in yorukot/superfile.

Source

Thrown at src/internal/trash/trash_linux.go:301

	}
	return base + suffix
}

func trashNameHash(base string) string {
	sum := sha256.Sum256([]byte(base))
	return hex.EncodeToString(sum[:8])
}

func trashInfoPath(td linuxTrashDir, srcAbs string) (string, error) {
	if td.home || td.pathBase == "" {
		return escapeTrashPath(srcAbs), nil
	}
	rel, err := filepath.Rel(td.pathBase, srcAbs)
	if err != nil {
		return "", err
	}
	if rel == "." || strings.HasPrefix(rel, ".."+string(filepath.Separator)) || rel == ".." {
		return "", fmt.Errorf("%s is not under filesystem root %s", srcAbs, td.pathBase)
	}
	return escapeTrashPath(rel), nil
}

func escapeTrashPath(path string) string {
	const hex = "0123456789ABCDEF"
	var b strings.Builder
	for i := range len(path) {
		c := path[i]
		if c == '/' || isRFC2396Unreserved(c) {
			b.WriteByte(c)
			continue
		}
		b.WriteByte('%')
		b.WriteByte(hex[c>>4])
		b.WriteByte(hex[c&0x0f])
	}
	return b.String()

View on GitHub (pinned to b72f550bc6)

When it happens

Trigger: Thrown at src/internal/trash/trash_linux.go:301 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of yorukot/superfile@b72f550bc6 (2026-09-01). Data as JSON: /api/errors/ad25c61ea0e56f01. Report an issue: GitHub.