From f247451c61d8b7da4803add2208413bcd1639e16 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 21 Jan 2024 02:07:32 +0000 Subject: [PATCH] Fix division by zero when wrapping lateness_counter with 0 timetable duration --- src/timetable_cmd.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/timetable_cmd.cpp b/src/timetable_cmd.cpp index 5823912c54..726f63a7d6 100644 --- a/src/timetable_cmd.cpp +++ b/src/timetable_cmd.cpp @@ -1044,7 +1044,11 @@ void UpdateVehicleTimetable(Vehicle *v, bool travelling) if (v->lateness_counter > (int)timetabled) { Ticks cycle = v->orders->GetTimetableTotalDuration(); if (cycle != INVALID_TICKS && v->lateness_counter > cycle) { - v->lateness_counter %= cycle; + if (cycle == 0) { + v->lateness_counter = 0; + } else { + v->lateness_counter %= cycle; + } } }