Skip to content

Commit 31ba6c2

Browse files
trop[bot]John Kleinschmidt
authored andcommitted
fix: properly free IsolateData in node_main (electron#20475)
1 parent 03d16f3 commit 31ba6c2

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

atom/app/node_main.cc

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,14 @@ int NodeMain(int argc, char* argv[]) {
6868
// Initialize gin::IsolateHolder.
6969
JavascriptEnvironment gin_env(loop);
7070

71-
node::Environment* env = node::CreateEnvironment(
72-
node::CreateIsolateData(gin_env.isolate(), loop, gin_env.platform()),
73-
gin_env.context(), argc, argv, exec_argc, exec_argv, false);
71+
node::IsolateData* isolate_data =
72+
node::CreateIsolateData(gin_env.isolate(), loop, gin_env.platform());
73+
CHECK_NE(nullptr, isolate_data);
74+
75+
node::Environment* env =
76+
node::CreateEnvironment(isolate_data, gin_env.context(), argc, argv,
77+
exec_argc, exec_argv, false);
78+
CHECK_NE(nullptr, env);
7479

7580
// Enable support for v8 inspector.
7681
NodeDebugger node_debugger(env);
@@ -118,6 +123,7 @@ int NodeMain(int argc, char* argv[]) {
118123

119124
v8::Isolate* isolate = env->isolate();
120125
node::FreeEnvironment(env);
126+
node::FreeIsolateData(isolate_data);
121127

122128
gin_env.platform()->DrainTasks(isolate);
123129
gin_env.platform()->CancelPendingDelayedTasks(isolate);

0 commit comments

Comments
 (0)