summaryrefslogtreecommitdiffstats
path: root/core/string/translation.cpp
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2024-01-05 14:05:16 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2024-01-05 14:10:26 +0200
commite7bdb60e56ce70bdbdb2ac7cc8f68c85357a90f4 (patch)
tree1168e95fe9233347bb34e93d3faacd5b10f5cb14 /core/string/translation.cpp
parent179dfdc8d78b5bd5377dd115af026df58308bdaf (diff)
downloadredot-engine-e7bdb60e56ce70bdbdb2ac7cc8f68c85357a90f4.tar.gz
[Pseudolocalization] Prevent out of bounds reads.
Diffstat (limited to 'core/string/translation.cpp')
-rw-r--r--core/string/translation.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/core/string/translation.cpp b/core/string/translation.cpp
index 8fcf2b24b5..829c9bf777 100644
--- a/core/string/translation.cpp
+++ b/core/string/translation.cpp
@@ -881,7 +881,7 @@ StringName TranslationServer::tool_pseudolocalize(const StringName &p_message) c
String TranslationServer::get_override_string(String &p_message) const {
String res;
- for (int i = 0; i < p_message.size(); i++) {
+ for (int i = 0; i < p_message.length(); i++) {
if (pseudolocalization_skip_placeholders_enabled && is_placeholder(p_message, i)) {
res += p_message[i];
res += p_message[i + 1];
@@ -895,7 +895,7 @@ String TranslationServer::get_override_string(String &p_message) const {
String TranslationServer::double_vowels(String &p_message) const {
String res;
- for (int i = 0; i < p_message.size(); i++) {
+ for (int i = 0; i < p_message.length(); i++) {
if (pseudolocalization_skip_placeholders_enabled && is_placeholder(p_message, i)) {
res += p_message[i];
res += p_message[i + 1];
@@ -913,7 +913,7 @@ String TranslationServer::double_vowels(String &p_message) const {
String TranslationServer::replace_with_accented_string(String &p_message) const {
String res;
- for (int i = 0; i < p_message.size(); i++) {
+ for (int i = 0; i < p_message.length(); i++) {
if (pseudolocalization_skip_placeholders_enabled && is_placeholder(p_message, i)) {
res += p_message[i];
res += p_message[i + 1];
@@ -936,7 +936,7 @@ String TranslationServer::wrap_with_fakebidi_characters(String &p_message) const
char32_t fakebidisuffix = U'\u202c';
res += fakebidiprefix;
// The fake bidi unicode gets popped at every newline so pushing it back at every newline.
- for (int i = 0; i < p_message.size(); i++) {
+ for (int i = 0; i < p_message.length(); i++) {
if (p_message[i] == '\n') {
res += fakebidisuffix;
res += p_message[i];
@@ -978,7 +978,7 @@ const char32_t *TranslationServer::get_accented_version(char32_t p_character) co
}
bool TranslationServer::is_placeholder(String &p_message, int p_index) const {
- return p_index < p_message.size() - 1 && p_message[p_index] == '%' &&
+ return p_index < p_message.length() - 1 && p_message[p_index] == '%' &&
(p_message[p_index + 1] == 's' || p_message[p_index + 1] == 'c' || p_message[p_index + 1] == 'd' ||
p_message[p_index + 1] == 'o' || p_message[p_index + 1] == 'x' || p_message[p_index + 1] == 'X' || p_message[p_index + 1] == 'f');
}