From e3e94d45eecf24d976adb1905fdef40544de806c Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Mon, 21 Oct 2024 18:20:00 -0500 Subject: [PATCH] fix: silence -Wunsafe-buffer-usage warning in GetPreferredLanguages() (#44333) fix: use UNSAFE_BUFFERS macro in GetPreferredLanguages() --- shell/common/language_util_linux.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/shell/common/language_util_linux.cc b/shell/common/language_util_linux.cc index 58754f80ef82..434b4f396d6d 100644 --- a/shell/common/language_util_linux.cc +++ b/shell/common/language_util_linux.cc @@ -22,7 +22,10 @@ std::vector GetPreferredLanguages() { DCHECK(languages); // A valid pointer is guaranteed. DCHECK(*languages); // At least one entry, "C", is guaranteed. - for (; *languages; ++languages) { + // SAFETY: |g_get_language_names()| returns a glib-owned array + // of const C strings, terminated by an empty string. + // This loop is the correct way to walk through its return values. + for (; *languages; UNSAFE_BUFFERS(++languages)) { if (strcmp(*languages, "C") != 0) { preferredLanguages.push_back(base::i18n::GetCanonicalLocale(*languages)); }