From 2da2c3394f163052292180b1bfa65d6ceb77f5a3 Mon Sep 17 00:00:00 2001 From: Ralph Sennhauser Date: Sun, 30 Nov 2025 20:13:19 +0100 Subject: [PATCH] Cleanly fail autostart for invalid map type As for any invalid argument reject them and cleanly exit with failure status. Fixes: #7687 Signed-off-by: Ralph Sennhauser (cherry picked from commit 958e6de9d39e07a848518c04b10f7067026e038f) Signed-off-by: phosit --- .../mods/public/autostart/cmd_line_args.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/binaries/data/mods/public/autostart/cmd_line_args.js b/binaries/data/mods/public/autostart/cmd_line_args.js index 279c53457f..44bce7774c 100644 --- a/binaries/data/mods/public/autostart/cmd_line_args.js +++ b/binaries/data/mods/public/autostart/cmd_line_args.js @@ -66,11 +66,20 @@ function parseCmdLineArgs(settings, cmdLineArgs) { // eslint-disable-next-line dot-notation const mapType = cmdLineArgs['autostart'].substring(0, cmdLineArgs['autostart'].indexOf('/')); - settings.map.setType({ - "scenarios": "scenario", - "random": "random", - "skirmishes": "skirmish", - }[mapType]); + switch (mapType) + { + case "random": + settings.map.setType("random"); + break; + case "scenarios": + settings.map.setType("scenario"); + break; + case "skirmishes": + settings.map.setType("skirmish"); + break; + default: + throw new Error(`Unknown map type ${mapType}`); + } // eslint-disable-next-line dot-notation settings.map.selectMap("maps/" + cmdLineArgs['autostart']);