Skip to content
This repository was archived by the owner on Jan 5, 2024. It is now read-only.

Commit ebcce19

Browse files
committed
Fix undefined behavior
Accessing an array at -1. When player is a cpu, then ScreenOfPlayer returns -1.
1 parent 021b2cd commit ebcce19

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

Entities/Activity.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,9 +286,12 @@ void Activity::Clear() {
286286

287287
// Intentionally doing all players, all need controllers
288288
for (short player = Players::PlayerOne; player < Players::MaxPlayerCount; ++player) {
289+
short playerScreen = ScreenOfPlayer(player);
289290
m_ViewState[player] = ViewState::Normal;
290-
g_FrameMan.ClearScreenText(ScreenOfPlayer(player));
291-
g_SceneMan.SetScreenOcclusion(Vector(), ScreenOfPlayer(player));
291+
g_FrameMan.ClearScreenText(playerScreen);
292+
if (playerScreen >= 0) {
293+
g_SceneMan.SetScreenOcclusion(Vector(), playerScreen);
294+
}
292295

293296
m_PlayerController[player].Destroy();
294297
m_PlayerController[player].Create(Controller::CIM_PLAYER, player);

0 commit comments

Comments
 (0)