From c4a3e4e9a7fadf959a73067a76c8e21cdbc8a3ac Mon Sep 17 00:00:00 2001 From: DecDuck Date: Wed, 23 Oct 2024 12:36:09 +1100 Subject: [PATCH] failed gracefully on invalid chunk index --- server/api/v1/client/chunk.get.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/api/v1/client/chunk.get.ts b/server/api/v1/client/chunk.get.ts index 77a75e3..5c5b4f7 100644 --- a/server/api/v1/client/chunk.get.ts +++ b/server/api/v1/client/chunk.get.ts @@ -49,6 +49,13 @@ export default defineEventHandler(async (h3) => { const start = chunkIndex * chunkSize; const end = Math.min((chunkIndex + 1) * chunkSize, gameFileStats.size); + + if (start >= end) + throw createError({ + statusCode: 400, + statusMessage: "Invalid chunk index", + }); + const gameReadStream = fs.createReadStream(gameFile, { start, end }); return sendStream(h3, gameReadStream);