-
Notifications
You must be signed in to change notification settings - Fork 871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use base::StringPrintf
in constexrp
contexts
#25643
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wallet-core++
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think sec team was tagged for the network audit whitelist change but @SergeyZhukovsky should take a look at it
32d4f43
to
e61704e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
browser/net
Upstream has made this function constexpr, in order to force callers to change its call sites to use a constexpr string, in order to be able to validate at compile time the format string. There is an alternative `base::StringPrintfNonConstexpr`, but obviously this unsafe variant should be avoided whenever possible. This change goes over the different places where the `constexpr` constrained was being violated, and corrects each callsite. This has also revealed a buggy test in `SimulationResponseParserUnitTest`, where the formatting string wasn't correct. Chromium change: https://chromium.googlesource.com/chromium/src/+/8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 commit 8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 Author: Peter Kasting <pkasting@chromium.org> Date: Fri Sep 13 19:07:33 2024 +0000 Disallow StringPrintf() with non-constexpr format strings. Bug: 365705855
e61704e
to
133e626
Compare
[puLL-Merge] - brave/brave-core@25643 DescriptionThis PR makes several changes to improve code quality and consistency across multiple components of the Brave browser. The main changes involve replacing string formatting methods, removing unused code, and refactoring some functions for better readability and maintainability. ChangesChanges
Overall, these changes aim to improve code readability, reduce string allocations, and make better use of C++ language features. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
++Rewards
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
++
Upstream has made this function constexpr, in order to force callers to change its call sites to use a constexpr string, in order to be able to validate at compile time the format string. There is an alternative `base::StringPrintfNonConstexpr`, but obviously this unsafe variant should be avoided whenever possible. This change goes over the different places where the `constexpr` constrained was being violated, and corrects each callsite. This has also revealed a buggy test in `SimulationResponseParserUnitTest`, where the formatting string wasn't correct. Chromium change: https://chromium.googlesource.com/chromium/src/+/8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 commit 8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 Author: Peter Kasting <pkasting@chromium.org> Date: Fri Sep 13 19:07:33 2024 +0000 Disallow StringPrintf() with non-constexpr format strings. Bug: 365705855
Upstream has made this function constexpr, in order to force callers to change its call sites to use a constexpr string, in order to be able to validate at compile time the format string. There is an alternative `base::StringPrintfNonConstexpr`, but obviously this unsafe variant should be avoided whenever possible. This change goes over the different places where the `constexpr` constrained was being violated, and corrects each callsite. This has also revealed a buggy test in `SimulationResponseParserUnitTest`, where the formatting string wasn't correct. Chromium change: https://chromium.googlesource.com/chromium/src/+/8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 commit 8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 Author: Peter Kasting <pkasting@chromium.org> Date: Fri Sep 13 19:07:33 2024 +0000 Disallow StringPrintf() with non-constexpr format strings. Bug: 365705855
Upstream has made this function constexpr, in order to force callers to change its call sites to use a constexpr string, in order to be able to validate at compile time the format string. There is an alternative `base::StringPrintfNonConstexpr`, but obviously this unsafe variant should be avoided whenever possible. This change goes over the different places where the `constexpr` constrained was being violated, and corrects each callsite. This has also revealed a buggy test in `SimulationResponseParserUnitTest`, where the formatting string wasn't correct. Chromium change: https://chromium.googlesource.com/chromium/src/+/8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 commit 8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 Author: Peter Kasting <pkasting@chromium.org> Date: Fri Sep 13 19:07:33 2024 +0000 Disallow StringPrintf() with non-constexpr format strings. Bug: 365705855
Upstream has made this function constexpr, in order to force callers to change its call sites to use a constexpr string, in order to be able to validate at compile time the format string. There is an alternative `base::StringPrintfNonConstexpr`, but obviously this unsafe variant should be avoided whenever possible. This change goes over the different places where the `constexpr` constrained was being violated, and corrects each callsite. This has also revealed a buggy test in `SimulationResponseParserUnitTest`, where the formatting string wasn't correct. Chromium change: https://chromium.googlesource.com/chromium/src/+/8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 commit 8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 Author: Peter Kasting <pkasting@chromium.org> Date: Fri Sep 13 19:07:33 2024 +0000 Disallow StringPrintf() with non-constexpr format strings. Bug: 365705855
* Merge pull request #25340 from brave/cr130 Upgrade from Chromium 129 to Chromium 130 * Use `base::StringPrintf` in `constexrp` contexts (#25643) Upstream has made this function constexpr, in order to force callers to change its call sites to use a constexpr string, in order to be able to validate at compile time the format string. There is an alternative `base::StringPrintfNonConstexpr`, but obviously this unsafe variant should be avoided whenever possible. This change goes over the different places where the `constexpr` constrained was being violated, and corrects each callsite. This has also revealed a buggy test in `SimulationResponseParserUnitTest`, where the formatting string wasn't correct. Chromium change: https://chromium.googlesource.com/chromium/src/+/8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 commit 8bf39fbefcd2963b3647c24f2b27dfb5c40875c4 Author: Peter Kasting <pkasting@chromium.org> Date: Fri Sep 13 19:07:33 2024 +0000 Disallow StringPrintf() with non-constexpr format strings. Bug: 365705855 * Fixed crash at Content Filtering (#25812) fixes brave/brave-browser#41402 Crash happened at app menu => Settings => Brave Shields & privacy => Content Filtering. Tombstone ``` java.lang.ClassCastException: org.chromium.chrome.browser.settings.SettingsActivity cannot be cast to org.chromium.chrome.browser.settings.BraveSettingsActivity at org.chromium.chrome.browser.shields.ContentFilteringFragment.onAttach(ContentFilteringFragment.java:86) ``` Upstream had added a new place to create Intent for Settings activity. Related Chromium change: https://source.chromium.org/chromium/chromium/src/+/d4af6a2c4ccc6427aa7df0f2beacf61793459e66 [Settings] Introduce a central place to construct intents SettingsIntentUtil becomes the central place to construct intents launching the settings activity. Bug: b/356743945 Change-Id: Id6988af4a182fe6603bb02c9dae8b2ac48f80fed Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5832868 * Merge pull request #25832 from brave/cr130-followup-fix-task-manager-colors [CR130] Task manager background color is red * [Downloads]: Fix progress bar color (#25865) * Merge pull request #25861 from brave/cr130-fix-downloads-page-colors Fix downloads page colors * Check SpanOrSize data before using it. (#25904) * Check SpanOrSize data before using it. * Simplify condition. * Merge pull request #25887 from brave/cr130-followup-fix-brandcode-config-fetcher-patch Run brandcode fetch callback asynchronously --------- Co-authored-by: cdesouza-chromium <cdesouza@brave.com> Co-authored-by: AlexeyBarabash <AlexeyBarabash@users.noreply.github.com> Co-authored-by: Jay Harris <jay.harris@outlook.co.nz> Co-authored-by: Aleksei Khoroshilov <5928869+goodov@users.noreply.github.com>
Upstream has made this function constexpr, in order to force callers to change its call sites to use a constexpr string, in order to be able to validate at compile time the format string. There is an alternative
base::StringPrintfNonConstexpr
, but obviously this unsafe variant should be avoided whenever possible.This change goes over the different places where the
constexpr
constrained was being violated, and corrects each callsite. This has also revealed a buggy test inSimulationResponseParserUnitTest
, where the formatting string wasn't correct.Chromium change:
https://chromium.googlesource.com/chromium/src/+/8bf39fbefcd2963b3647c24f2b27dfb5c40875c4
Resolves brave/brave-browser#41137
Submitter Checklist:
QA/Yes
orQA/No
;release-notes/include
orrelease-notes/exclude
;OS/...
) to the associated issuenpm run test -- brave_browser_tests
,npm run test -- brave_unit_tests
wikinpm run presubmit
wiki,npm run gn_check
,npm run tslint
git rebase master
(if needed)Reviewer Checklist:
gn
After-merge Checklist:
changes has landed on
Test Plan: