Skip to content

Commit 29a79eb

Browse files
authored
Fix crash in secret scanning middleware for invalid versions (#58792)
1 parent 5b44304 commit 29a79eb

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/secret-scanning/middleware/secret-scanning.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ export default async function secretScanning(
3030

3131
const { isEnterpriseCloud, isEnterpriseServer } = getVersionInfo(currentVersion)
3232

33+
if (isEnterpriseServer && !allVersions[currentVersion]) {
34+
return next()
35+
}
36+
3337
const versionPath = isEnterpriseCloud
3438
? 'ghec'
3539
: isEnterpriseServer

src/secret-scanning/tests/rendering.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,12 @@ describe('secret-scanning pipeline', () => {
1717
const page = await get(`/${targetFilename}`, { followRedirects: true })
1818
expect(page.statusCode).toBe(200)
1919
})
20+
21+
test('should not crash on malformed URL with double version', async () => {
22+
const url =
23+
'/en/enterprise-server@3.11/enterprise-cloud@latest/code-security/secret-scanning/introduction/supported-secret-scanning-patterns'
24+
const res = await get(url)
25+
// It should probably be a 404 because the URL is invalid, but definitely not a 500
26+
expect(res.statusCode).not.toBe(500)
27+
})
2028
})

0 commit comments

Comments
 (0)