diff options
author | Mai M <mathew1800@gmail.com> | 2021-08-05 05:32:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-05 05:32:01 +0200 |
commit | a1cb453470d95f7bcedf6235e6a2761bc2ef34c8 (patch) | |
tree | a5d271f9e78772bfaa8779ca51bb2be26486120e /src | |
parent | Merge pull request #6818 from Morph1984/hex-util-bug (diff) | |
parent | applet_swkbd: Include the null terminator in the buffer size calculation (diff) | |
download | yuzu-a1cb453470d95f7bcedf6235e6a2761bc2ef34c8.tar yuzu-a1cb453470d95f7bcedf6235e6a2761bc2ef34c8.tar.gz yuzu-a1cb453470d95f7bcedf6235e6a2761bc2ef34c8.tar.bz2 yuzu-a1cb453470d95f7bcedf6235e6a2761bc2ef34c8.tar.lz yuzu-a1cb453470d95f7bcedf6235e6a2761bc2ef34c8.tar.xz yuzu-a1cb453470d95f7bcedf6235e6a2761bc2ef34c8.tar.zst yuzu-a1cb453470d95f7bcedf6235e6a2761bc2ef34c8.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/service/am/applets/applet_software_keyboard.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/hle/service/am/applets/applet_software_keyboard.cpp b/src/core/hle/service/am/applets/applet_software_keyboard.cpp index 673abb755..c89aa1bbf 100644 --- a/src/core/hle/service/am/applets/applet_software_keyboard.cpp +++ b/src/core/hle/service/am/applets/applet_software_keyboard.cpp @@ -377,7 +377,8 @@ void SoftwareKeyboard::SubmitForTextCheck(std::u16string submitted_text) { if (swkbd_config_common.use_utf8) { std::string utf8_submitted_text = Common::UTF16ToUTF8(current_text); - const u64 buffer_size = utf8_submitted_text.size(); + // Include the null terminator in the buffer size. + const u64 buffer_size = utf8_submitted_text.size() + 1; LOG_DEBUG(Service_AM, "\nBuffer Size: {}\nUTF-8 Submitted Text: {}", buffer_size, utf8_submitted_text); @@ -386,7 +387,8 @@ void SoftwareKeyboard::SubmitForTextCheck(std::u16string submitted_text) { std::memcpy(out_data.data() + sizeof(u64), utf8_submitted_text.data(), utf8_submitted_text.size()); } else { - const u64 buffer_size = current_text.size() * sizeof(char16_t); + // Include the null terminator in the buffer size. + const u64 buffer_size = (current_text.size() + 1) * sizeof(char16_t); LOG_DEBUG(Service_AM, "\nBuffer Size: {}\nUTF-16 Submitted Text: {}", buffer_size, Common::UTF16ToUTF8(current_text)); |