From 5b052ff91a44f98638c2b0cc943c2d4da0112b51 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 27 Jan 2024 20:03:46 +0000 Subject: [PATCH] Avoid truncation when calculating AircraftCache::cached_max_range_sqr --- src/aircraft_cmd.cpp | 2 +- src/sl/vehicle_sl.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index c0edaf5f11..08c9878821 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -653,7 +653,7 @@ void UpdateAircraftCache(Aircraft *v, bool update_range) if (update_range) { v->acache.cached_max_range = GetVehicleProperty(v, PROP_AIRCRAFT_RANGE, AircraftVehInfo(v->engine_type)->max_range); /* Squared it now so we don't have to do it later all the time. */ - v->acache.cached_max_range_sqr = v->acache.cached_max_range * v->acache.cached_max_range; + v->acache.cached_max_range_sqr = (uint32_t)v->acache.cached_max_range * (uint32_t)v->acache.cached_max_range; } } diff --git a/src/sl/vehicle_sl.cpp b/src/sl/vehicle_sl.cpp index 486cdf4fa7..019253e8dc 100644 --- a/src/sl/vehicle_sl.cpp +++ b/src/sl/vehicle_sl.cpp @@ -1480,7 +1480,7 @@ void SlProcessVENC() if (a == nullptr) continue; if (a->acache.cached_max_range != venc.cached_max_range) { a->acache.cached_max_range = venc.cached_max_range; - a->acache.cached_max_range_sqr = venc.cached_max_range * venc.cached_max_range; + a->acache.cached_max_range_sqr = (uint32_t)venc.cached_max_range * (uint32_t)venc.cached_max_range; LogVehicleVENCMessage(a, "cached_max_range"); } }