Fix error handling and global leak in client.js

This commit is contained in:
roblabla 2015-02-20 01:04:43 +00:00
parent 43b29cf904
commit 42de90c758

View File

@ -83,12 +83,12 @@ Client.prototype.setSocket = function(socket) {
var self = this; var self = this;
function afterParse(err, parsed) { function afterParse(err, parsed) {
if (err || (parsed && parsed.error)) { if (err || (parsed && parsed.error)) {
this.emit('error', err || parsed.error); self.emit('error', err || parsed.error);
this.end("ProtocolError"); self.end("ProtocolError");
return; return;
} }
if (! parsed) { return; } if (! parsed) { return; }
packet = parsed.results; var packet = parsed.results;
incomingBuffer = incomingBuffer.slice(parsed.size); incomingBuffer = incomingBuffer.slice(parsed.size);
var packetName = protocol.packetNames[self.state][self.isServer ? 'toServer' : 'toClient'][packet.id]; var packetName = protocol.packetNames[self.state][self.isServer ? 'toServer' : 'toClient'][packet.id];