fix: -Wunsafe-buffer-usage warning in HasWordCharacters() (#44171)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
trop[bot] 2024-10-09 22:25:34 -05:00 committed by GitHub
parent c9474ef5da
commit 78cb71f7b1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -15,6 +15,7 @@
#include "base/containers/contains.h"
#include "base/logging.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/utf_string_conversion_utils.h"
#include "base/task/single_thread_task_runner.h"
#include "components/spellcheck/renderer/spellcheck_worditerator.h"
#include "shell/common/gin_helper/dictionary.h"
@ -29,12 +30,9 @@ namespace electron::api {
namespace {
bool HasWordCharacters(const std::u16string& text, int index) {
const char16_t* data = text.data();
int length = text.length();
while (index < length) {
uint32_t code = 0;
U16_NEXT(data, index, length, code);
bool HasWordCharacters(const std::u16string& text, size_t index) {
base_icu::UChar32 code;
while (base::ReadUnicodeCharacter(text.c_str(), text.size(), &index, &code)) {
UErrorCode error = U_ZERO_ERROR;
if (uscript_getScript(code, &error) != USCRIPT_COMMON)
return true;