mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-20 05:23:04 +01:00
@@ -1,5 +1,6 @@
|
||||
0.4.15 (in development)
|
||||
------------------------------------------------------------------------
|
||||
- Fix: [#22231] Invalid object version can cause a crash.
|
||||
- Fix: [#22653] Add several .parkpatch files for missing water tiles in RCT1 and RCT2 scenarios.
|
||||
|
||||
0.4.14 (2024-09-01)
|
||||
|
||||
@@ -405,12 +405,13 @@ ObjectVersion VersionTuple(std::string_view version)
|
||||
size_t highestIndex = std::min(nums.size(), VersionNumFields);
|
||||
for (size_t i = 0; i < highestIndex; i++)
|
||||
{
|
||||
auto value = stoi(nums.at(i));
|
||||
auto value = stoll(nums.at(i));
|
||||
constexpr auto maxValue = std::numeric_limits<uint16_t>().max();
|
||||
if (value > maxValue)
|
||||
{
|
||||
LOG_WARNING(
|
||||
"Version value too high in version string '%s', version value will be capped to %i.", version, maxValue);
|
||||
"Version value too high in version string '%.*s', version value will be capped to %i.",
|
||||
static_cast<int>(version.size()), version.data(), maxValue);
|
||||
value = maxValue;
|
||||
}
|
||||
versions[i] = value;
|
||||
@@ -418,7 +419,7 @@ ObjectVersion VersionTuple(std::string_view version)
|
||||
}
|
||||
catch (const std::exception&)
|
||||
{
|
||||
LOG_WARNING("Malformed version string '%s', expected X.Y.Z", version);
|
||||
LOG_WARNING("Malformed version string '%.*s', expected X.Y.Z", static_cast<int>(version.size()), version.data());
|
||||
}
|
||||
|
||||
return std::make_tuple(versions[0], versions[1], versions[2]);
|
||||
|
||||
Reference in New Issue
Block a user