mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-21 06:43:04 +01:00
Fix #9761: invalid read in ride_measurement_update
This commit is contained in:
@@ -2929,11 +2929,16 @@ static void ride_music_update(Ride* ride)
|
|||||||
static void ride_measurement_update(RideMeasurement* measurement)
|
static void ride_measurement_update(RideMeasurement* measurement)
|
||||||
{
|
{
|
||||||
auto ride = measurement->ride;
|
auto ride = measurement->ride;
|
||||||
|
if (ride == nullptr || measurement->vehicle_index >= std::size(ride->vehicles))
|
||||||
|
return;
|
||||||
|
|
||||||
auto spriteIndex = ride->vehicles[measurement->vehicle_index];
|
auto spriteIndex = ride->vehicles[measurement->vehicle_index];
|
||||||
if (spriteIndex == SPRITE_INDEX_NULL)
|
if (spriteIndex == SPRITE_INDEX_NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
auto vehicle = GET_VEHICLE(spriteIndex);
|
auto vehicle = GET_VEHICLE(spriteIndex);
|
||||||
|
if (vehicle == nullptr)
|
||||||
|
return;
|
||||||
|
|
||||||
if (measurement->flags & RIDE_MEASUREMENT_FLAG_UNLOADING)
|
if (measurement->flags & RIDE_MEASUREMENT_FLAG_UNLOADING)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user