Skip to content

Commit 0363f9c

Browse files
committed
Remove some memory leaks from node loader.
1 parent 32689a9 commit 0363f9c

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

source/loaders/node_loader/source/node_loader_impl.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -923,9 +923,6 @@ napi_value node_loader_impl_napi_to_value_callback(napi_env env, napi_callback_i
923923
/* Set result finalizer */
924924
node_loader_impl_finalizer(env, result, ret);
925925

926-
/* Set closure finalizer */
927-
value_finalizer(closure->func, &node_loader_impl_napi_to_value_callback_finalizer, closure);
928-
929926
/* Reset environment */
930927
// closure->node_impl->env = NULL;
931928

@@ -1097,6 +1094,8 @@ napi_value node_loader_impl_value_to_napi(loader_impl_node node_impl, napi_env e
10971094
node_loader_impl_exception(env, status);
10981095

10991096
node_loader_impl_finalizer(env, v, closure->func);
1097+
1098+
value_finalizer(closure->func, &node_loader_impl_napi_to_value_callback_finalizer, closure);
11001099
}
11011100
else if (id == TYPE_CLASS)
11021101
{

source/loaders/node_loader/source/node_loader_port.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,11 @@ napi_value node_loader_port_load_from_memory_export(napi_env env, napi_callback_
450450

451451
void *exports = metacall_handle_export(handle);
452452

453-
return node_loader_impl_value_to_napi(node_impl, env, exports);
453+
napi_value v_exports = node_loader_impl_value_to_napi(node_impl, env, exports);
454+
455+
node_loader_impl_finalizer(env, v_exports, exports);
456+
457+
return v_exports;
454458
}
455459

456460
/* TODO: Add documentation */

0 commit comments

Comments
 (0)