mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-10 08:00:05 +00:00
Codechange: Use MakeParameters with GetNextParameter in FormatString (#11583)
Instead of StringParameters subspan, to avoid GSs being able to cause subspan boundary assertion failures
This commit is contained in:
parent
12bb750128
commit
97b86b7147
@ -1231,7 +1231,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara
|
||||
}
|
||||
|
||||
default: {
|
||||
StringParameters tmp_params(args, 1);
|
||||
auto tmp_params = MakeParameters(args.GetNextParameter<int64_t>());
|
||||
GetStringWithArgs(builder, cargo_str, tmp_params);
|
||||
break;
|
||||
}
|
||||
@ -1245,7 +1245,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara
|
||||
if (IsValidCargoID(cargo) && cargo >= CargoSpec::GetArraySize()) break;
|
||||
|
||||
StringID cargo_str = !IsValidCargoID(cargo) ? STR_QUANTITY_N_A : CargoSpec::Get(cargo)->quantifier;
|
||||
StringParameters tmp_args(args, 1);
|
||||
auto tmp_args = MakeParameters(args.GetNextParameter<int64_t>());
|
||||
GetStringWithArgs(builder, cargo_str, tmp_args);
|
||||
break;
|
||||
}
|
||||
@ -1405,7 +1405,7 @@ static void FormatString(StringBuilder &builder, const char *str_arg, StringPara
|
||||
case SCC_DEPOT_NAME: { // {DEPOT}
|
||||
VehicleType vt = args.GetNextParameter<VehicleType>();
|
||||
if (vt == VEH_AIRCRAFT) {
|
||||
StringParameters tmp_params = StringParameters(args, 1);
|
||||
auto tmp_params = MakeParameters(args.GetNextParameter<StationID>());
|
||||
GetStringWithArgs(builder, STR_FORMAT_DEPOT_NAME_AIRCRAFT, tmp_params);
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user