diff options
author | Luigi Pinca <luigipinca@gmail.com> | 2018-01-17 15:44:49 +0100 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-01-21 02:42:19 +0100 |
commit | 93f1d9e10bbc922d6c8862e30efaee8975712633 (patch) | |
tree | 9d6a61c52a6bf647fcc77b8598d0541ae9e91c98 /lib/_http_client.js | |
parent | 08ada72cc692163979f574ee00de81cbfd730994 (diff) | |
download | android-node-v8-93f1d9e10bbc922d6c8862e30efaee8975712633.tar.gz android-node-v8-93f1d9e10bbc922d6c8862e30efaee8975712633.tar.bz2 android-node-v8-93f1d9e10bbc922d6c8862e30efaee8975712633.zip |
http: free the parser before emitting 'upgrade'
Ensure that the parser is freed before emitting the 'connect' or
'upgrade' event.
PR-URL: https://github.com/nodejs/node/pull/18209
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'lib/_http_client.js')
-rw-r--r-- | lib/_http_client.js | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/_http_client.js b/lib/_http_client.js index b49aa711c4..74bec38b6e 100644 --- a/lib/_http_client.js +++ b/lib/_http_client.js @@ -420,6 +420,7 @@ function socketOnData(d) { socket.removeListener('data', socketOnData); socket.removeListener('end', socketOnEnd); parser.finish(); + freeParser(parser, req, socket); var bodyHead = d.slice(bytesParsed, d.length); @@ -440,7 +441,6 @@ function socketOnData(d) { // Got Upgrade header or CONNECT method, but have no handler. socket.destroy(); } - freeParser(parser, req, socket); } else if (parser.incoming && parser.incoming.complete && // When the status code is 100 (Continue), the server will // send a final response after this client sends a request |