tls: fix leak on invalid protocol method · nodejs/node@bf0de92

Original file line numberDiff line numberDiff line change

@@ -1351,7 +1351,6 @@ SecureContext* SecureContext::Create(Environment* env) {

13511351

SecureContext::SecureContext(Environment* env, Local<Object> wrap)

13521352

: BaseObject(env, wrap) {

13531353

MakeWeak();

1354-

env->external_memory_accounter()->Increase(env->isolate(), kExternalSize);

13551354

}

13561355
13571356

inline void SecureContext::Reset() {

@@ -1469,6 +1468,8 @@ void SecureContext::Init(const FunctionCallbackInfo<Value>& args) {

14691468

if (!sc->ctx_) {

14701469

return ThrowCryptoError(env, ERR_get_error(), "SSL_CTX_new");

14711470

}

1471+
1472+

env->external_memory_accounter()->Increase(env->isolate(), kExternalSize);

14721473

SSL_CTX_set_app_data(sc->ctx_.get(), sc);

14731474
14741475

// Disable SSLv2 in the case when method == TLS_method() and the