Fix: allow input of numbers greater than INT32_MAX for GiveMoney (#8499)

Based on patch by JGR.
This commit is contained in:
Patric Stout
2021-01-05 19:00:05 +01:00
committed by GitHub
parent bb28ff7226
commit f2fa2a14d7

View File

@@ -73,7 +73,7 @@ void HandleOnEditText(const char *str)
case 3: { // Give money, you can only give money in excess of loan
const Company *c = Company::GetIfValid(_local_company);
if (c == nullptr) break;
Money money = min(c->money - c->current_loan, (Money)(atoi(str) / _currency->rate));
Money money = min(c->money - c->current_loan, (Money)(strtoull(str, nullptr, 10) / _currency->rate));
uint32 money_c = Clamp(ClampToI32(money), 0, 20000000); // Clamp between 20 million and 0