From 2cce13da1baa43ef2d56637b6e7b79f99293da6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Sun, 14 Feb 2016 18:47:57 +0100 Subject: [PATCH] Don't crash when dealing with a hacked ride subtype --- src/ride/ride.c | 3 +++ src/scenario.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ride/ride.c b/src/ride/ride.c index ffe6bee729..6a7136c04d 100644 --- a/src/ride/ride.c +++ b/src/ride/ride.c @@ -307,6 +307,9 @@ money32 ride_calculate_income_per_hour(rct_ride *ride) int currentShopItem; entry = get_ride_entry(ride->subtype); + if (entry == NULL) { + return 0; + } customersPerHour = ride_customers_per_hour(ride); priceMinusCost = ride->price; diff --git a/src/scenario.c b/src/scenario.c index b33c6f6659..84567b933a 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -1294,7 +1294,8 @@ static void scenario_objective_check_10_rollercoasters() uint8 subtype_id = ride->subtype; rct_ride_type *rideType = get_ride_entry(subtype_id); - if ((rideType->category[0] == RIDE_GROUP_ROLLERCOASTER || rideType->category[1] == RIDE_GROUP_ROLLERCOASTER) && + if (rideType != NULL && + (rideType->category[0] == RIDE_GROUP_ROLLERCOASTER || rideType->category[1] == RIDE_GROUP_ROLLERCOASTER) && ride->status == RIDE_STATUS_OPEN && ride->excitement >= RIDE_RATING(6,00) && type_already_counted[subtype_id] == 0){ type_already_counted[subtype_id]++;