From 0cdb3e5782ede84d3818ad00d12cb03b9a10ae3e Mon Sep 17 00:00:00 2001 From: gfgtdf Date: Mon, 16 Mar 2020 18:56:12 +0100 Subject: [PATCH] guard against invalid [scenario]playing_team --- src/game_state.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/game_state.cpp b/src/game_state.cpp index b6b35959e230..c8721ce095f7 100644 --- a/src/game_state.cpp +++ b/src/game_state.cpp @@ -191,6 +191,11 @@ void game_state::init(const config& level, play_controller & pc) LOG_NG << "initialized teams... " << (SDL_GetTicks() - pc.ticks()) << std::endl; board_.teams_.resize(level.child_count("side")); + if (player_number_ > static_cast(board_.teams_.size())) { + ERR_NG << "invalid player number " << player_number_ << " #sides=" << board_.teams_.size() << "\n"; + player_number_ = 1; + // in case there are no teams, using player_number_ migh still cause problems later. + } std::vector team_builders;