From 4d8c2c019cccb1eba9f667ba21d77e32943063a6 Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 7 Nov 2024 08:52:39 +0800 Subject: [PATCH] core: ProblemSubmit: add shouldReadFile check --- packages/hydrooj/src/handler/problem.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/hydrooj/src/handler/problem.ts b/packages/hydrooj/src/handler/problem.ts index 17e3f8e43..1a47ef6f4 100644 --- a/packages/hydrooj/src/handler/problem.ts +++ b/packages/hydrooj/src/handler/problem.ts @@ -499,7 +499,12 @@ export class ProblemSubmitHandler extends ProblemDetailHandler { if (!file || file.size === 0) throw new ValidationError('code'); const sizeLimit = config.type === 'submit_answer' ? 128 * 1024 * 1024 : lengthLimit; if (file.size > sizeLimit) throw new ValidationError('file'); - if (file.size < lengthLimit && !file.filepath.endsWith('.zip') && !setting.langs[lang].isBinary) { + const showReadFile = () => { + if (config.type === 'objective') return true; + if (lang === '_') return true; + return file.size < lengthLimit && !file.filepath.endsWith('.zip') && !setting.langs[lang].isBinary; + }; + if (showReadFile()) { // TODO submission file shape code = await readFile(file.filepath, 'utf-8'); } else {