diff options
author | yexo <yexo@openttd.org> | 2012-01-15 13:17:02 +0000 |
---|---|---|
committer | yexo <yexo@openttd.org> | 2012-01-15 13:17:02 +0000 |
commit | 15292fa08091e138d9a325ca75a2209225b699b1 (patch) | |
tree | b177a7e33ad6db2c9eb92c4be9b175c4a864eae7 | |
parent | 8e68a442b95ce0f1f4be82fe689049ad40b96086 (diff) | |
download | openttd-15292fa08091e138d9a325ca75a2209225b699b1.tar.xz |
(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
-rw-r--r-- | src/newgrf_text.cpp | 2 | ||||
-rw-r--r-- | src/strings.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp index 33164a123..da18d2ceb 100644 --- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -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_PRINT_WORD_STRING_ID: - *argv = TTDPStringIDToOTTDStringIDMapping(_newgrf_textrefstack.PopUnsignedWord()); + *argv = _newgrf_textrefstack.PopUnsignedWord(); break; } } diff --git a/src/strings.cpp b/src/strings.cpp index 663f3c953..15d478944 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -838,7 +838,7 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg } 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)); case_index = next_substr_case_index; next_substr_case_index = 0; |