From 493f59cef5c258ab9b83aab3d2d7755c635e348b Mon Sep 17 00:00:00 2001 From: PabloMK7 Date: Thu, 24 Apr 2025 19:04:59 +0200 Subject: [PATCH] Fix off-by-one error in savestates that could cause crashes (#977) --- src/citra_qt/citra_qt.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/citra_qt/citra_qt.cpp b/src/citra_qt/citra_qt.cpp index eb855401a..03dfcce6c 100644 --- a/src/citra_qt/citra_qt.cpp +++ b/src/citra_qt/citra_qt.cpp @@ -1619,6 +1619,9 @@ void GMainWindow::UpdateSaveStates() { } } for (const auto& savestate : savestates) { + if (savestate.slot >= Core::SaveStateSlotCount) { + continue; + } const bool display_name = savestate.status == Core::SaveStateInfo::ValidationStatus::RevisionDismatch && !savestate.build_name.empty(); @@ -1659,7 +1662,7 @@ void GMainWindow::UpdateSaveStates() { for (u32 i = 1; i < Core::SaveStateSlotCount; ++i) { if (!actions_load_state[i]->isEnabled()) { // Prefer empty slot - oldest_slot = i + 1; + oldest_slot = i; oldest_slot_time = 0; break; }