diff options
author | isaacs <i@izs.me> | 2013-02-25 09:06:44 -0800 |
---|---|---|
committer | isaacs <i@izs.me> | 2013-02-25 09:06:46 -0800 |
commit | b0e7dbf2c0bab37018e64d14d176d0236c11cd87 (patch) | |
tree | 8dab2ceb0f57a4255cb1f63824bb623ec982f92d /lib | |
parent | f9a0140ef140d89fed1a194c410cd69ed9990305 (diff) | |
download | node-new-b0e7dbf2c0bab37018e64d14d176d0236c11cd87.tar.gz |
http: Do not free the wrong parser on socket close
This appears to fix #4673. That bug is very hard to reproduce, so it's
hard to tell for certain, but this approach is more correct anyway.
Hat-tip: @dougwilson
Diffstat (limited to 'lib')
-rw-r--r-- | lib/http.js | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/http.js b/lib/http.js index 0081432488..212b8becb9 100644 --- a/lib/http.js +++ b/lib/http.js @@ -1788,7 +1788,8 @@ function connectionListener(socket) { function serverSocketCloseListener() { debug('server socket close'); // mark this parser as reusable - freeParser(parser); + if (this.parser) + freeParser(this.parser); abortIncoming(); } |