From 4577b547ea29c50d7e4dea19267ad42d40b6d553 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 19 Jun 2021 18:44:43 +0100 Subject: [PATCH] Fix nullptr dereference when autoreplacing vehicle with no orders In GetIncompatibleRefitOrderIdForAutoreplace --- src/autoreplace_cmd.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/autoreplace_cmd.cpp b/src/autoreplace_cmd.cpp index 2b676bfa63..8eb9063d38 100644 --- a/src/autoreplace_cmd.cpp +++ b/src/autoreplace_cmd.cpp @@ -208,6 +208,7 @@ static int GetIncompatibleRefitOrderIdForAutoreplace(const Vehicle *v, EngineID const Vehicle *u = (v->type == VEH_TRAIN) ? v->First() : v; const OrderList *orders = u->orders.list; + if (orders == nullptr) return -1; for (VehicleOrderID i = 0; i < orders->GetNumOrders(); i++) { o = orders->GetOrderAt(i); if (!o->IsRefit()) continue;