From 7b7d3ec5e33e938e9d0dfbaf20f942e268b056da Mon Sep 17 00:00:00 2001 From: Ted John Date: Sun, 8 Sep 2019 13:45:56 +0100 Subject: [PATCH] Fix #9971: invalid-read in place_virtual_track --- src/openrct2-ui/windows/TrackDesignPlace.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/openrct2-ui/windows/TrackDesignPlace.cpp b/src/openrct2-ui/windows/TrackDesignPlace.cpp index aa7c17868f..289ca164e6 100644 --- a/src/openrct2-ui/windows/TrackDesignPlace.cpp +++ b/src/openrct2-ui/windows/TrackDesignPlace.cpp @@ -400,10 +400,13 @@ static void window_track_place_clear_provisional() if (_window_track_place_last_was_valid) { auto ride = get_ride(_window_track_place_ride_index); - place_virtual_track( - _trackDesign.get(), PTD_OPERATION_REMOVE_GHOST, true, ride, _window_track_place_last_valid_x, - _window_track_place_last_valid_y, _window_track_place_last_valid_z); - _window_track_place_last_was_valid = false; + if (ride != nullptr) + { + place_virtual_track( + _trackDesign.get(), PTD_OPERATION_REMOVE_GHOST, true, ride, _window_track_place_last_valid_x, + _window_track_place_last_valid_y, _window_track_place_last_valid_z); + _window_track_place_last_was_valid = false; + } } }