diff options
| author | 2021-10-13 12:49:22 -0400 | |
|---|---|---|
| committer | 2021-10-14 14:09:34 -0400 | |
| commit | 3ffff78a27bb6db97224bbd831b6aafb39fb51bd (patch) | |
| tree | cdac4815379a25504b5ec62a522dbe8e8c30ff98 /src/common/string_util.cpp | |
| parent | Merge pull request #7120 from Morph1984/update-dynarmic (diff) | |
| download | yuzu-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.cpp | 4 |
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 | |||
| 191 | std::u16string UTF16StringFromFixedZeroTerminatedBuffer(std::u16string_view buffer, | 191 | std::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 | ||