From 5459f4af33cefb61804859c0a252f0b798583add Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 7 Jul 2021 09:43:48 +0200 Subject: [PATCH] http: clean up HttpParser correctly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: Gerhard Stöbich --- lib/_http_common.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/_http_common.js b/lib/_http_common.js index e97670f0acaf11..361776f249810e 100644 --- a/lib/_http_common.js +++ b/lib/_http_common.js @@ -45,6 +45,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; @@ -238,6 +239,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;