aboutsummaryrefslogtreecommitdiff
path: root/src/common/string_util.cpp
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2021-10-14 13:11:08 -0400
committerMorph <39850852+Morph1984@users.noreply.github.com>2021-10-14 14:09:34 -0400
commit0d6057b2fa98f08a461edaf584e9ac75f7fdecde (patch)
tree8c641f7adf5387c40601cd335bac9bd4097c815b /src/common/string_util.cpp
parent3ffff78a27bb6db97224bbd831b6aafb39fb51bd (diff)
string_util: Make use of std::string_view and add bounds checking
Makes use of std::string_view in StringFromFixedZeroTerminatedBuffer and add bounds checking
Diffstat (limited to 'src/common/string_util.cpp')
-rw-r--r--src/common/string_util.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp
index 9617c3fa3b..6621711386 100644
--- a/src/common/string_util.cpp
+++ b/src/common/string_util.cpp
@@ -180,12 +180,12 @@ std::wstring UTF8ToUTF16W(const std::string& input) {
#endif
-std::string StringFromFixedZeroTerminatedBuffer(const char* buffer, std::size_t max_len) {
+std::string StringFromFixedZeroTerminatedBuffer(std::string_view buffer, std::size_t max_len) {
std::size_t len = 0;
- while (len < max_len && buffer[len] != '\0')
+ while (len < buffer.length() && len < max_len && buffer[len] != '\0') {
++len;
-
- return std::string(buffer, len);
+ }
+ return std::string(buffer.begin(), buffer.begin() + len);
}
std::u16string UTF16StringFromFixedZeroTerminatedBuffer(std::u16string_view buffer,