diff options
author | himself65 <himself65@outlook.com> | 2019-07-31 22:20:13 +0800 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2019-08-02 12:02:48 -0700 |
commit | 2b03e1d0a5ef2a52e4d7ce550b74a961c62e185a (patch) | |
tree | 4a8c2cd19438696127570b9223645f507b0a46f5 /lib | |
parent | 36864a60fa25394fa034a9bea7c9928c301c0d8f (diff) | |
download | android-node-v8-2b03e1d0a5ef2a52e4d7ce550b74a961c62e185a.tar.gz android-node-v8-2b03e1d0a5ef2a52e4d7ce550b74a961c62e185a.tar.bz2 android-node-v8-2b03e1d0a5ef2a52e4d7ce550b74a961c62e185a.zip |
http2: destroy when settingsFn throws an error
http2.connect should call destroy when init fails.
PR-URL: https://github.com/nodejs/node/pull/28908
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/internal/http2/core.js | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js index ec720da71e..fca37ae2b0 100644 --- a/lib/internal/http2/core.js +++ b/lib/internal/http2/core.js @@ -972,7 +972,13 @@ class Http2Session extends EventEmitter { if (socket.connecting) { const connectEvent = socket instanceof tls.TLSSocket ? 'secureConnect' : 'connect'; - socket.once(connectEvent, setupFn); + socket.once(connectEvent, () => { + try { + setupFn(); + } catch (error) { + socket.destroy(error); + } + }); } else { setupFn(); } |