Skip to content

Commit 7676956

Browse files
rauchgShrikrishna Holla
authored andcommitted
server: fix ws memory leak (fixes socketio#268)
1 parent f3ada3c commit 7676956

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

lib/server.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ function Server(opts){
4949
if (~this.transports.indexOf('websocket')) {
5050
this.ws = new WebSocketServer({ noServer: true, clientTracking: false });
5151
}
52-
};
52+
}
5353

5454
/**
5555
* Protocol errors mappings.
@@ -268,7 +268,7 @@ Server.prototype.handshake = function(transport, req){
268268
* @api public
269269
*/
270270

271-
Server.prototype.handleUpgrade = function(req, socket, head){
271+
Server.prototype.handleUpgrade = function(req, socket, upgradeHead){
272272
this.prepare(req);
273273

274274
var self = this;
@@ -278,8 +278,12 @@ Server.prototype.handleUpgrade = function(req, socket, head){
278278
return;
279279
}
280280

281+
var head = new Buffer(upgradeHead.length);
282+
upgradeHead.copy(head);
283+
upgradeHead = null;
284+
281285
// delegate to ws
282-
self.ws.handleUpgrade(req, socket, head, function(conn){
286+
self.ws.handleUpgrade(req, socket, upgradeHead, function(conn){
283287
self.onWebSocket(req, conn);
284288
});
285289
});

0 commit comments

Comments
 (0)