Skip to content

Commit

Permalink
src: do not leak handles on debug and exit
Browse files Browse the repository at this point in the history
Ensure HandleScope is created before creating any new handles (which
`Context::Scope` and `Environment::GetCurrent` does).

PR-URL: #1133
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Brian White <mscdex@mscdex.net>
  • Loading branch information
indutny committed Mar 12, 2015
1 parent 8c4f0df commit e2c9040
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/node.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3195,6 +3195,7 @@ static void DispatchDebugMessagesAsyncCallback(uv_async_t* handle) {
if (debugger_running == false) {
fprintf(stderr, "Starting debugger agent.\n");

HandleScope scope(node_isolate);
Environment* env = Environment::GetCurrent(node_isolate);
Context::Scope context_scope(env->context());

Expand Down Expand Up @@ -3603,8 +3604,8 @@ void AtExit(void (*cb)(void* arg), void* arg) {


void EmitBeforeExit(Environment* env) {
Context::Scope context_scope(env->context());
HandleScope handle_scope(env->isolate());
Context::Scope context_scope(env->context());
Local<Object> process_object = env->process_object();
Local<String> exit_code = FIXED_ONE_BYTE_STRING(env->isolate(), "exitCode");
Local<Value> args[] = {
Expand Down

0 comments on commit e2c9040

Please sign in to comment.