http: clean up HttpParser correctly

Remove reference to kOnMessageBegin from HttpParser
to avoid leaking Server instances in FreeList.

PR-URL: https://github.com/nodejs/node/pull/39292
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
This commit is contained in:
Tobias Koppers
2021-07-07 09:43:48 +02:00
committed by Robert Nagy
parent e2148d7425
commit 3ac223ed25

View File

@@ -46,6 +46,7 @@ let debug = require('internal/util/debuglog').debuglog('http', (fn) => {
const kIncomingMessage = Symbol('IncomingMessage');
const kRequestTimeout = Symbol('RequestTimeout');
const kOnMessageBegin = HTTPParser.kOnMessageBegin | 0;
const kOnHeaders = HTTPParser.kOnHeaders | 0;
const kOnHeadersComplete = HTTPParser.kOnHeadersComplete | 0;
const kOnBody = HTTPParser.kOnBody | 0;
@@ -239,6 +240,7 @@ function cleanParser(parser) {
parser.incoming = null;
parser.outgoing = null;
parser.maxHeaderPairs = MAX_HEADER_PAIRS;
parser[kOnMessageBegin] = null;
parser[kOnExecute] = null;
parser[kOnTimeout] = null;
parser._consumed = false;