Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix crash on null ride in Guest::UpdateRideLeaveExit #21668

Merged
merged 4 commits into from Mar 26, 2024

Conversation

janisozaur
Copy link
Member

Fix a crash when dereferencing a null ride pointer before it is checked.

Issue can be reproduced using attached park.

park_exit_ride.park.txt

Copy link
Member

@Gymnasiast Gymnasiast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM, would like a changelog entry.

@Gymnasiast Gymnasiast added this to the v.0.4.10 milestone Mar 26, 2024
@janisozaur janisozaur added the squash merge A PR that should be squashed on merge. label Mar 26, 2024
@janisozaur janisozaur enabled auto-merge (squash) March 26, 2024 11:04
@janisozaur janisozaur merged commit 4350767 into OpenRCT2:develop Mar 26, 2024
23 checks passed
@janisozaur janisozaur deleted the fix-guest-ride-exit branch March 26, 2024 11:50
Harry-Hopkinson added a commit to Harry-Hopkinson/OpenRCT2 that referenced this pull request Mar 26, 2024
Guests ignore Price Limits Cheat

Save following entity into save

Feature OpenRCT2#21426: Save followed entity.

Bump PARK_FILE_CURRENT_VERSION.

Start work on Guests ignore price cheat

Guests ignore price of ride.

Make size of the groupbox bigger.

Remove entity save file code.

Fix OpenRCT2#21604: Scenario selector shows incorrect guest objectives

Merge Localisation/master into OpenRCT2/develop

Fix OpenRCT2#21419: Cannot build walls under sloped terrain

Co-authored-by: Gymnasiast <Gymnasiast@users.noreply.github.com>

Fix OpenRCT2#20338: Scenery Picker Hotkey not selected with re-paint tool

Fix OpenRCT2#18413: Trying to set tooltip using null vehicle (OpenRCT2#21662)

Part of OpenRCT2#21421: Replace define with constexpr (OpenRCT2#21626)

* Part of OpenRCT2#21421: Refactor RIDE_INITIAL_RELIABILITY in Ride.h

* Part of OpenRCT2#21421: Refactor STATION_DEPART_FLAG and STATION_DEPART_MASK

* Part of OpenRCT2#21421: Refactor MAX_STATION_PLATFORM_LENGTH

* Part of OpenRCT2#21421: Refactor RIDE_RATING_UNDEFINED

* Part of OpenRCT2#21421: Refactor TRACK_BLOCK_END

* Part of OpenRCT2#21421: Refactor TRACK_PREVIEW_IMAGE_SIZE

* Part of OpenRCT2#21421: Refactor based on feedback

* Part of OpenRCT2#21421: Fix signed/unsigned mismatch on Win

* Improved consistency kTrackPreviewImageSize

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>

* Part of OpenRCT2#21421: kMaxStationPlatformLength to int8

---------

Co-authored-by: Michael Steenbeek <m.o.steenbeek@gmail.com>

Add Classic Stand-Up Roller Coaster

Add constants

Implement flat-to-banked transitions

Fix Classic Stand Up vehicle colours

Implement 3×3 banked turn (pending calls to segment support height)

Name segment constants in ClassicStandUpRollerCoaster.cpp

Update for upstream changes

Normalise PaintUtilRotateSegments() calls

Consolidate PaintUtilSetGeneralSupportHeight() calls for 3×3

Implement remaining orthogonal banked pieces

Implement 45 degree banked corners

Implement 2×2 turns

Implement diagonal flat parts

Implement diagonal-sloped-straight-to-bank sections

Create rotated version of support functions

Consolidate support and general support height calls

Fix formatting

Add improved description

Accurate max build height for classic

Add fallback for people without RCT1

Fix flat-to-diagonal supports not quite reaching the track

Pull in objects release v1.4.1

Add Classic Stand-Up and objects release to changelog

Pull in objects release v1.4.2

Bump network version for object changes

Part of OpenRCT2#21421: Refactor VEHICLE_SEAT_PAIR_FLAG

Part of OpenRCT2#21421: Refactor VEHICLE_SEAT_NUM_MASK

Part of OpenRCT2#21421: Refactor MINIMUM_MAP_SIZE_TECHNICAL

Part of OpenRCT2#21421: Refactor MAXIMUM_MAP_SIZE_TECHNICAL

Part of OpenRCT2#21421: Refactor TILE_ELEMENT_QUADRANT_MASK

Part of OpenRCT2#21421: Refactor TILE_ELEMENT_TYPE_MASK

Part of OpenRCT2#21421: Refactor TILE_ELEMENT_DIRECTION_MASK

Part of OpenRCT2#21421: improved consistency for var decl

Part of OpenRCT2#21421: refactor MPH(x) as literal

Adding my name to list of contribs

Part of OpenRCT2#21421: apply clang-formatting

Part of OpenRCT2#21421: apply more clang-formatting

Part of OpenRCT2#21421: refactor also test

Part of OpenRCT2#21421: make var decl consistent

Add banner properties to plugin API for large scenery, walls and banners

Fix crash on null ride in Guest::UpdateRideLeaveExit (OpenRCT2#21668)

Add kParkRatingHistorySize constant

Fix OpenRCT2#21317: Track designer allows proceeding without an object selected

Co-authored-by: Gymnasiast <m.o.steenbeek@gmail.com>

Fix compilation error on 64-bit MSVC builds (OpenRCT2#21677)
janisozaur added a commit that referenced this pull request Apr 2, 2024
- Feature: [#18171] Add port of the RCT1 Stand-Up Roller Coaster.
- Feature: [#21590] [Plugin] Plugins can now read and write banner properties of tile elements.
- Feature: [#21636] Add shortcut key for sorting tile elements.
- Feature: [objects#294] Add scenery versions of wooden truss supports.
- Feature: [objects#295] Flipped version of wooden post.
- Improved: [#21424] Extra viewports can now rotate independently from the main viewport.
- Improved: [#21561, #21631] Enable more features in Android build (plugins, networking, multiplayer, audio formats).
- Improved: [#21599] Currency signs now use non-breaking spaces.
- Improved: [objects#157] Added sloped images for many walls.
- Improved: [objects#288] Better map colours and more sensible prices for RCT1 land surfaces.
- Improved: [objects#292] Vehicle colour cleanups for WW/TT vehicles.
- Improved: [objects#299] More accurate ratings modifiers for RCT1 vehicles.
- Improved: [objects#309] Updated names for dodgems and flying saucers vehicles.
- Improved: [objects#313] buildMenuPriority for dodgems and flying saucers vehicles.
- Change: [#21529] Classify “Southern Sands”, “Tiny Towers”, “Nevermore Park”, “Pacifica” as expert scenarios.
- Change: [#21545] Reorder Wacky Worlds scenarios and adjust their difficulty classification.
- Fix: [#910] Extra viewport does not preserve the location when rotating.
- Fix: [#18413] Crash when mouse over a hacked train.
- Fix: [#20338] Cannot select Scenery Picker or Scatter Tool when the scenery recolouring tool is active.
- Fix: [#21317] Track designer allows proceeding without an object selected.
- Fix: [#21360] If the object selection is missing certain types, the Object Selection window will switch to an incorrect tab.
- Fix: [#21419] Cannot place walls underground beneath sloped tiles with clearance checks disabled.
- Fix: [#21434] Number of guests overflows in objective text.
- Fix: [#21522] Supports for 3×3 turns and 45 degree turns on the Hybrid Coaster and Wooden Roller Coaster not drawn correctly.
- Fix: [#21543] Crash with creating a TrackIterator with invalid arguments.
- Fix: [#21635] Tile inspector hotkey can set wall slope for non-slopeable objects.
- Fix: [#21641] Crash when creating track iterator from an invalid tile element.
- Fix: [#21652] Dialog window to confirm overwriting files does not apply the theme colours correctly.
- Fix: [#21654] No sound effects when using RCT Classic as an asset base.
- Fix: [#21654] Extraneous reports of an object conflict between `rct2.audio.base` and `rct2.audio.base.rctc`.
- Fix: [#21664] Crash when switching between languages that use TTF.
- Fix: [#21668] Crash when on null ride in Guest::UpdateRideLeaveExit.
- Fix: [#21691] Crash when validating rides which can't contain banked track.
- Fix: [objects#290] “Haunted Mansion” cars have a non-functional third remap colour.
- Fix: [objects#296] Incorrect wall placement around large Kremlin/drab pieces.
- Fix: [objects#300] Incorrect Colosseum and volcano corner clearances.
- Fix: [objects#319] Incorrect diagonal slope images used for RCT1 corkscrew.
- Fix: [objects#320] Incorrect Mandarin Duck boats capacity.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
squash merge A PR that should be squashed on merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants