1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-24 00:03:11 +01:00

Fix bounds checks and a nullptr check

This commit is contained in:
Johan Mattsson
2022-02-03 21:42:12 +01:00
committed by GitHub
parent 66c9c99ed2
commit c00cc90b1f
5 changed files with 7 additions and 6 deletions

View File

@@ -1330,7 +1330,7 @@ void WindowSceneryScrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t scr
auto numColumns = WindowSceneryGetNumColumns(w); auto numColumns = WindowSceneryGetNumColumns(w);
auto tabIndex = gWindowSceneryActiveTabIndex; auto tabIndex = gWindowSceneryActiveTabIndex;
if (tabIndex > _tabEntries.size()) if (tabIndex >= _tabEntries.size())
{ {
return; return;
} }

View File

@@ -1082,7 +1082,7 @@ void window_zoom_out(rct_window* w, bool atCursor)
void main_window_zoom(bool zoomIn, bool atCursor) void main_window_zoom(bool zoomIn, bool atCursor)
{ {
auto* mainWindow = window_get_main(); auto* mainWindow = window_get_main();
if (mainWindow != nullptr) if (mainWindow == nullptr)
return; return;
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)

View File

@@ -131,7 +131,7 @@ public:
void RemoveString(rct_string_id stringId) override void RemoveString(rct_string_id stringId) override
{ {
if (_strings.size() >= static_cast<size_t>(stringId)) if (_strings.size() > static_cast<size_t>(stringId))
{ {
_strings[stringId] = std::string(); _strings[stringId] = std::string();
} }
@@ -139,7 +139,7 @@ public:
void SetString(rct_string_id stringId, const std::string& str) override void SetString(rct_string_id stringId, const std::string& str) override
{ {
if (_strings.size() >= static_cast<size_t>(stringId)) if (_strings.size() > static_cast<size_t>(stringId))
{ {
_strings[stringId] = str; _strings[stringId] = str;
} }

View File

@@ -678,10 +678,11 @@ bool track_block_get_previous(const CoordsXYE& trackPos, track_begin_end* outTra
return false; return false;
auto trackElement = trackPos.element->AsTrack(); auto trackElement = trackPos.element->AsTrack();
const auto& ted = GetTrackElementDescriptor(trackElement->GetTrackType());
if (trackElement == nullptr) if (trackElement == nullptr)
return false; return false;
const auto& ted = GetTrackElementDescriptor(trackElement->GetTrackType());
auto rideIndex = trackElement->GetRideIndex(); auto rideIndex = trackElement->GetRideIndex();
auto ride = get_ride(rideIndex); auto ride = get_ride(rideIndex);
if (ride == nullptr) if (ride == nullptr)

View File

@@ -98,7 +98,7 @@ std::unique_ptr<TitleSequence> LoadTitleSequence(const std::string& path)
std::unique_ptr<TitleSequenceParkHandle> TitleSequenceGetParkHandle(const TitleSequence& seq, size_t index) std::unique_ptr<TitleSequenceParkHandle> TitleSequenceGetParkHandle(const TitleSequence& seq, size_t index)
{ {
std::unique_ptr<TitleSequenceParkHandle> handle; std::unique_ptr<TitleSequenceParkHandle> handle;
if (index <= seq.Saves.size()) if (index < seq.Saves.size())
{ {
const auto& filename = seq.Saves[index]; const auto& filename = seq.Saves[index];
if (seq.IsZip) if (seq.IsZip)