summaryrefslogtreecommitdiff
path: root/src/common/string_util.cpp
diff options
context:
space:
mode:
authorGravatar Morph2021-10-13 12:49:22 -0400
committerGravatar Morph2021-10-14 14:09:34 -0400
commit3ffff78a27bb6db97224bbd831b6aafb39fb51bd (patch)
treecdac4815379a25504b5ec62a522dbe8e8c30ff98 /src/common/string_util.cpp
parentMerge pull request #7120 from Morph1984/update-dynarmic (diff)
downloadyuzu-3ffff78a27bb6db97224bbd831b6aafb39fb51bd.tar.gz
yuzu-3ffff78a27bb6db97224bbd831b6aafb39fb51bd.tar.xz
yuzu-3ffff78a27bb6db97224bbd831b6aafb39fb51bd.zip
string_util: Prevent out of bounds access in u16string_view buffer
Diffstat (limited to 'src/common/string_util.cpp')
-rw-r--r--src/common/string_util.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp
index e6344fd41..9617c3fa3 100644
--- a/src/common/string_util.cpp
+++ b/src/common/string_util.cpp
@@ -191,9 +191,9 @@ std::string StringFromFixedZeroTerminatedBuffer(const char* buffer, std::size_t
191std::u16string UTF16StringFromFixedZeroTerminatedBuffer(std::u16string_view buffer, 191std::u16string UTF16StringFromFixedZeroTerminatedBuffer(std::u16string_view buffer,
192 std::size_t max_len) { 192 std::size_t max_len) {
193 std::size_t len = 0; 193 std::size_t len = 0;
194 while (len < max_len && buffer[len] != '\0') 194 while (len < buffer.length() && len < max_len && buffer[len] != '\0') {
195 ++len; 195 ++len;
196 196 }
197 return std::u16string(buffer.begin(), buffer.begin() + len); 197 return std::u16string(buffer.begin(), buffer.begin() + len);
198} 198}
199 199