From e9847918a9a61340c3b8007c8dcbefd181c51354 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Sun, 29 Aug 2021 08:35:22 +0800 Subject: [PATCH] fix: potential infinite loop when exporting game crash info.. --- HMCL/src/main/java/org/jackhuang/hmcl/game/LogExporter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/LogExporter.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/LogExporter.java index 361e31a58..c7467f351 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/LogExporter.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/LogExporter.java @@ -28,6 +28,7 @@ import java.io.UncheckedIOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.concurrent.CompletableFuture; @@ -41,7 +42,10 @@ public final class LogExporter { List versions = new ArrayList<>(); String currentVersionId = versionId; + HashSet resolvedSoFar = new HashSet<>(); while (true) { + if (resolvedSoFar.contains(currentVersionId)) break; + resolvedSoFar.add(currentVersionId); Version currentVersion = gameRepository.getVersion(currentVersionId); versions.add(currentVersionId);