From 4931f32bb86c9231935813eeb157a9a606c008df Mon Sep 17 00:00:00 2001 From: James R Date: Wed, 6 Dec 2023 04:06:00 -0800 Subject: [PATCH] SpawnerList::random_id: avoid division by zero in PRNG function --- src/objects/battle-ufo.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/objects/battle-ufo.cpp b/src/objects/battle-ufo.cpp index 7cc9873d9..bbefa9672 100644 --- a/src/objects/battle-ufo.cpp +++ b/src/objects/battle-ufo.cpp @@ -92,7 +92,12 @@ public: auto it = list_.begin(); std::size_t count = std::distance(it, list_.end()); - return std::next(it, P_RandomKey(PR_BATTLEUFO, count - 1u))->id(); + if (count > 1u) + { + std::advance(it, P_RandomKey(PR_BATTLEUFO, count - 1u)); + } + + return it->id(); } void spawn_ufo() const