build: re-enable unsafe buffer checks (#45770)
This commit is contained in:
parent
0de1e8e610
commit
3ee2ec8e4f
3 changed files with 51 additions and 7 deletions
|
@ -74,10 +74,4 @@ enterprise_cloud_content_analysis = false
|
||||||
# https://issues.chromium.org/issues/40943039
|
# https://issues.chromium.org/issues/40943039
|
||||||
content_enable_legacy_ipc = true
|
content_enable_legacy_ipc = true
|
||||||
|
|
||||||
# Electron has its own unsafe-buffers enforcement directories.
|
clang_unsafe_buffers_paths = "//electron/electron_unsafe_buffers_paths.txt"
|
||||||
# TODO: clang_unsafe_buffers_paths = "//electron/electron_unsafe_buffers_paths.txt"
|
|
||||||
#
|
|
||||||
# Disables unsafe-buffers-usage plugin due to incompatibilities with our reclient implementation
|
|
||||||
# Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5426599
|
|
||||||
# Ref: https://github.com/electron/electron/commit/8e20f16ea35eeaeb149ae63bad3703d782665f6a
|
|
||||||
clang_unsafe_buffers_paths = ""
|
|
||||||
|
|
|
@ -140,3 +140,4 @@ ignore_parse_errors_for_pkey_appusermodel_toastactivatorclsid.patch
|
||||||
feat_add_signals_when_embedder_cleanup_callbacks_run_for.patch
|
feat_add_signals_when_embedder_cleanup_callbacks_run_for.patch
|
||||||
feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch
|
feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch
|
||||||
fix_win32_synchronous_spellcheck.patch
|
fix_win32_synchronous_spellcheck.patch
|
||||||
|
chore_remove_conflicting_allow_unsafe_libc_calls.patch
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Charles Kerr <charles@charleskerr.com>
|
||||||
|
Date: Sat, 22 Feb 2025 13:15:39 -0600
|
||||||
|
Subject: chore: remove conflicting allow_unsafe_libc_calls
|
||||||
|
|
||||||
|
We want builds to fail if a buffer warning comes from Electron code but
|
||||||
|
not from code that we don't maintain (e.g. upstream Chromium code), so
|
||||||
|
//electron/electron_unsafe_buffer_paths.txt turns off Chromium warnings.
|
||||||
|
|
||||||
|
There are some upstream files that generate warnings *and* also have
|
||||||
|
pragmas that override //electron/electron_unsafe_buffer_paths.txt,
|
||||||
|
forcing them to be tested. This breaks our build.
|
||||||
|
|
||||||
|
Files can be removed from this patch when upstream either removes the
|
||||||
|
pragma or fixes the other warnings. This patch can be removed when no
|
||||||
|
files are left.
|
||||||
|
|
||||||
|
diff --git a/net/cookies/parsed_cookie.cc b/net/cookies/parsed_cookie.cc
|
||||||
|
index 7d5d0106a3675b3fa21b0e00a755f5c0ed11c87b..d26c645d70b54b31815c8140954ee6d0a34fa8af 100644
|
||||||
|
--- a/net/cookies/parsed_cookie.cc
|
||||||
|
+++ b/net/cookies/parsed_cookie.cc
|
||||||
|
@@ -2,11 +2,6 @@
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
-#ifdef UNSAFE_BUFFERS_BUILD
|
||||||
|
-// TODO(crbug.com/390223051): Remove C-library calls to fix the errors.
|
||||||
|
-#pragma allow_unsafe_libc_calls
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
// Portions of this code based on Mozilla:
|
||||||
|
// (netwerk/cookie/src/nsCookieService.cpp)
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
diff --git a/net/http/http_response_headers.cc b/net/http/http_response_headers.cc
|
||||||
|
index 34ef2be4415825254c41d5970be33b1195a9a381..4a3462664c22f6d367e02ac03551c22c0db52a4d 100644
|
||||||
|
--- a/net/http/http_response_headers.cc
|
||||||
|
+++ b/net/http/http_response_headers.cc
|
||||||
|
@@ -2,11 +2,6 @@
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
-#ifdef UNSAFE_BUFFERS_BUILD
|
||||||
|
-// TODO(crbug.com/390223051): Remove C-library calls to fix the errors.
|
||||||
|
-#pragma allow_unsafe_libc_calls
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
// The rules for header parsing were borrowed from Firefox:
|
||||||
|
// http://lxr.mozilla.org/seamonkey/source/netwerk/protocol/http/src/nsHttpResponseHead.cpp
|
||||||
|
// The rules for parsing content-types were also borrowed from Firefox:
|
Loading…
Add table
Add a link
Reference in a new issue