codeql serve fonts

This commit is contained in:
acalcutt 2025-01-03 23:40:30 -05:00
parent b825c9a21b
commit e1cae331b9

View file

@ -32,10 +32,18 @@ export async function serve_font(options, allowedFonts, programOpts) {
app.get('/fonts/:fontstack/:range.pbf', async (req, res) => { app.get('/fonts/:fontstack/:range.pbf', async (req, res) => {
if (verbose) { if (verbose) {
console.log( console.log(
`Handling font request for: /fonts/${req.params.fontstack}/${req.params.range}.pbf`, `Handling font request for: /fonts/%s/%s.pbf`,
req.params.fontstack,
req.params.range,
); );
} }
const fontstack = decodeURI(req.params.fontstack); let fontstack = req.params.fontstack;
const fontStackMatch = fontstack?.match(/^[\w\s-]+$/);
if (!fontStackMatch) {
return res.status(400).send('Invalid font stack format');
}
fontstack = decodeURI(fontStackMatch[0]);
const range = req.params.range; const range = req.params.range;
try { try {
@ -51,7 +59,12 @@ export async function serve_font(options, allowedFonts, programOpts) {
res.header('Last-Modified', lastModified); res.header('Last-Modified', lastModified);
return res.send(concatenated); return res.send(concatenated);
} catch (err) { } catch (err) {
console.error(`Error serving font: ${fontstack}/${range}.pbf`, err); console.error(
`Error serving font: %s/%s.pbf, Error: %s`,
fontstack,
range,
String(err),
);
return res return res
.status(400) .status(400)
.header('Content-Type', 'text/plain') .header('Content-Type', 'text/plain')