{"record":{"id":"ad25c61ea0e56f01","repo":"yorukot/superfile","slug":"s-is-not-under-filesystem-root-s","errorCode":null,"errorMessage":"%s is not under filesystem root %s","messagePattern":"(.+?) is not under filesystem root (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/internal/trash/trash_linux.go","lineNumber":301,"sourceCode":"\t}\n\treturn base + suffix\n}\n\nfunc trashNameHash(base string) string {\n\tsum := sha256.Sum256([]byte(base))\n\treturn hex.EncodeToString(sum[:8])\n}\n\nfunc trashInfoPath(td linuxTrashDir, srcAbs string) (string, error) {\n\tif td.home || td.pathBase == \"\" {\n\t\treturn escapeTrashPath(srcAbs), nil\n\t}\n\trel, err := filepath.Rel(td.pathBase, srcAbs)\n\tif err != nil {\n\t\treturn \"\", err\n\t}\n\tif rel == \".\" || strings.HasPrefix(rel, \"..\"+string(filepath.Separator)) || rel == \"..\" {\n\t\treturn \"\", fmt.Errorf(\"%s is not under filesystem root %s\", srcAbs, td.pathBase)\n\t}\n\treturn escapeTrashPath(rel), nil\n}\n\nfunc escapeTrashPath(path string) string {\n\tconst hex = \"0123456789ABCDEF\"\n\tvar b strings.Builder\n\tfor i := range len(path) {\n\t\tc := path[i]\n\t\tif c == '/' || isRFC2396Unreserved(c) {\n\t\t\tb.WriteByte(c)\n\t\t\tcontinue\n\t\t}\n\t\tb.WriteByte('%')\n\t\tb.WriteByte(hex[c>>4])\n\t\tb.WriteByte(hex[c&0x0f])\n\t}\n\treturn b.String()","sourceCodeStart":283,"sourceCodeEnd":319,"githubUrl":"https://github.com/yorukot/superfile/blob/b72f550bc6e75913f48eb49fdd258e1a2df2fe88/src/internal/trash/trash_linux.go#L283-L319","documentation":"Error \"%s is not under filesystem root %s\" thrown in yorukot/superfile.","triggerScenarios":"Thrown at src/internal/trash/trash_linux.go:301 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b72f550bc6e75913f48eb49fdd258e1a2df2fe88","analyzedAt":"2026-09-01T04:38:08.254Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}