GeezerVison is showing github.com — src,test: disable freezing V8 flags on initialization · nodejs/node@2e49b99
File tree
Expand file treeCollapse file tree
Open diff view settings
Expand file treeCollapse file tree
Open diff view settings
Collapse file
Copy file name to clipboardExpand all lines: src/node.cc +5Lines changed: 5 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -741,6 +741,11 @@ static ExitCode InitializeNodeWithArgsInternal( |
741 | 741 | // used in diagnostic reports. |
742 | 742 | per_process::cli_options->cmdline = *argv; |
743 | 743 |
|
| 744 | + // Node provides a "v8.setFlagsFromString" method to dynamically change flags. |
| 745 | + // Hence do not freeze flags when initializing V8. In a browser setting, this |
| 746 | + // is security relevant, for Node it's less important. |
| 747 | + V8::SetFlagsFromString("--no-freeze-flags-after-init"); |
| 748 | + |
744 | 749 | #if defined(NODE_V8_OPTIONS) |
745 | 750 | // Should come before the call to V8::SetFlagsFromCommandLine() |
746 | 751 | // so the user can disable a flag --foo at run-time by passing |
|
Collapse file
Copy file name to clipboardExpand all lines: test/cctest/node_test_fixture.cc +5Lines changed: 5 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -24,6 +24,11 @@ void NodeTestEnvironment::SetUp() { |
24 | 24 | #endif |
25 | 25 | cppgc::InitializeProcess( |
26 | 26 | NodeZeroIsolateTestFixture::platform->GetPageAllocator()); |
| 27 | + |
| 28 | + // Before initializing V8, disable the --freeze-flags-after-init flag, so |
| 29 | + // individual tests can set their own flags. |
| 30 | + v8::V8::SetFlagsFromString("--no-freeze-flags-after-init"); |
| 31 | + |
27 | 32 | v8::V8::Initialize(); |
28 | 33 | } |
29 | 34 |
|
|