mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-08 01:10:28 +00:00
(svn r23804) -Fix: [NewGRF] Make string code 80 more secure by not crashing when it's used in strings where it's not supposed to be used
This commit is contained in:
parent
8e68a442b9
commit
15292fa080
@ -1065,7 +1065,7 @@ uint RemapNewGRFStringControlCode(uint scc, char *buf_start, char **buff, const
|
|||||||
case SCC_NEWGRF_UNPRINT: *buff = max(*buff - Utf8Consume(str), buf_start); break;
|
case SCC_NEWGRF_UNPRINT: *buff = max(*buff - Utf8Consume(str), buf_start); break;
|
||||||
|
|
||||||
case SCC_NEWGRF_PRINT_WORD_STRING_ID:
|
case SCC_NEWGRF_PRINT_WORD_STRING_ID:
|
||||||
*argv = TTDPStringIDToOTTDStringIDMapping(_newgrf_textrefstack.PopUnsignedWord());
|
*argv = _newgrf_textrefstack.PopUnsignedWord();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -838,7 +838,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
|||||||
}
|
}
|
||||||
|
|
||||||
case SCC_NEWGRF_PRINT_WORD_STRING_ID: {
|
case SCC_NEWGRF_PRINT_WORD_STRING_ID: {
|
||||||
StringID substr = args->GetInt32(SCC_NEWGRF_PRINT_WORD_STRING_ID);
|
StringID substr = TTDPStringIDToOTTDStringIDMapping(args->GetInt32(SCC_NEWGRF_PRINT_WORD_STRING_ID));
|
||||||
str_stack.push(GetStringPtr(substr));
|
str_stack.push(GetStringPtr(substr));
|
||||||
case_index = next_substr_case_index;
|
case_index = next_substr_case_index;
|
||||||
next_substr_case_index = 0;
|
next_substr_case_index = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user