From e5d2e3001d3a17a5bb28646b2705d90264aba7d1 Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Thu, 28 Jul 2022 14:24:19 +0200 Subject: [PATCH] Fix buffer size handling for ride operations input Ensure a nicely terminated string --- src/openrct2-ui/windows/Ride.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index e6243ee6f0..ebfd83e0d5 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -3303,8 +3303,8 @@ static void WindowRideOperatingLengthWindow(rct_window* w, rct_widgetindex widge ft.Add(upperBound); auto title = (widgetIndex == WIDX_MINIMUM_LENGTH) ? STR_MINIMUM_WAITING_TIME : STR_MAXIMUM_WAITING_TIME; auto currentValue = (widgetIndex == WIDX_MINIMUM_LENGTH) ? ride->min_waiting_time : ride->max_waiting_time; - char buffer[5]; - snprintf(buffer, 4, "%u", currentValue); + char buffer[5]{}; + snprintf(buffer, std::size(buffer), "%u", currentValue); WindowTextInputRawOpen(w, widgetIndex, title, STR_ENTER_VALUE, ft, buffer, 4); } @@ -3336,8 +3336,8 @@ static void WindowRideOperatingTweakTextInput(rct_window* w, const Ride& ride) ft.Add(minValue); ft.Add(maxValue); - char buffer[5]; - snprintf(buffer, 4, "%u", ride.operation_option); + char buffer[5]{}; + snprintf(buffer, std::size(buffer), "%u", ride.operation_option); WindowTextInputRawOpen(w, WIDX_MODE_TWEAK, title, STR_ENTER_VALUE, ft, buffer, 4); }