diff --git a/src/connection_wrap.cc b/src/connection_wrap.cc index 3021307c065511..db239f9becdb53 100644 --- a/src/connection_wrap.cc +++ b/src/connection_wrap.cc @@ -77,7 +77,8 @@ void ConnectionWrap::OnConnection(uv_stream_t* handle, template void ConnectionWrap::AfterConnect(uv_connect_t* req, int status) { - ConnectWrap* req_wrap = static_cast(req->data); + std::unique_ptr req_wrap + (static_cast(req->data)); CHECK_NOT_NULL(req_wrap); WrapType* wrap = static_cast(req->handle->data); CHECK_EQ(req_wrap->env(), wrap->env()); @@ -108,8 +109,6 @@ void ConnectionWrap::AfterConnect(uv_connect_t* req, }; req_wrap->MakeCallback(env->oncomplete_string(), arraysize(argv), argv); - - delete req_wrap; } template ConnectionWrap::ConnectionWrap(