From df31fb2f0527be8481a146f933918847ebe782ea Mon Sep 17 00:00:00 2001 From: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com> Date: Mon, 16 Aug 2021 10:26:06 +0200 Subject: [PATCH] Fix DOS attack perpetrated by CityInfoReligionManager on Json Serializer (#4870) Fixes #4867 --- core/src/com/unciv/logic/city/CityReligion.kt | 1 + core/src/com/unciv/models/metadata/GameSettings.kt | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/logic/city/CityReligion.kt b/core/src/com/unciv/logic/city/CityReligion.kt index 242bfd74f0..4438a8864e 100644 --- a/core/src/com/unciv/logic/city/CityReligion.kt +++ b/core/src/com/unciv/logic/city/CityReligion.kt @@ -19,6 +19,7 @@ class CityInfoReligionManager { @Transient private val followers: Counter = Counter() + @delegate:Transient private val pressureFromAdjacentCities: Int by lazy { when (cityInfo.civInfo.gameInfo.gameParameters.gameSpeed) { GameSpeed.Quick -> 9 diff --git a/core/src/com/unciv/models/metadata/GameSettings.kt b/core/src/com/unciv/models/metadata/GameSettings.kt index 9095fcf2e5..8586d21fa4 100644 --- a/core/src/com/unciv/models/metadata/GameSettings.kt +++ b/core/src/com/unciv/models/metadata/GameSettings.kt @@ -62,7 +62,7 @@ class GameSettings { } fun addCompletedTutorialTask(tutorialTask: String) { - tutorialTasksCompleted.add(tutorialTask) - save() + if (tutorialTasksCompleted.add(tutorialTask)) + save() } }