From 67bb0166231fdf93a789a10b79405be1dc5e143a Mon Sep 17 00:00:00 2001 From: Lenny McLennington Date: Wed, 1 Feb 2023 23:45:16 +0000 Subject: [PATCH] fix(ModrinthInstanceCreationTask): ignore files with invalid paths Signed-off-by: Lenny McLennington --- .../modplatform/modrinth/ModrinthInstanceCreationTask.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp index ddeea224..661ec31a 100644 --- a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp +++ b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp @@ -305,6 +305,11 @@ bool ModrinthCreationTask::parseManifest(const QString& index_path, std::vector< Modrinth::File file; file.path = Json::requireString(modInfo, "path"); + if (QDir::isAbsolutePath(file.path) || QDir::cleanPath(file.path).startsWith("..")) { + qDebug() << "Skipped file that tries to place itself in an absolute location or in a parent directory."; + continue; + } + auto env = Json::ensureObject(modInfo, "env"); // 'env' field is optional if (!env.isEmpty()) {