refactor: prevent out-of-bounds read (#39936)

`IsReadmeFileExtension("readme", exts...)` panicked with `index out of
range [6] with length 6` when `exts` had no empty extension. The only
caller always passes one, so this was not reachable in practice.

Fixes:
https://github.com/go-gitea/gitea/security/quality/rules/go%2Findex-out-of-bounds

Written by Claude.
This commit is contained in:
silverwind authored and GitHub committed 2026-10-22 13:06:01 +00:00
1 parent 5f8f625ff7
commit facc0f2b15
2 files changed
+5 -1

No files matched your search

+4
View File
@@ -142,6 +142,10 @@ func TestMisc_IsReadmeFileName(t *testing.T) {
assert.Equal(t, testCase.expected, ok)
assert.Equal(t, testCase.idx, idx)
}
idx, ok := IsReadmeFileExtension("readme", ".md")
assert.False(t, ok)
assert.Zero(t, idx)
}
func TestCleanPath(t *testing.T) {