diff --git a/lib/client.js b/lib/client.js index 3beea37..1a01cab 100644 --- a/lib/client.js +++ b/lib/client.js @@ -87,7 +87,7 @@ Client.prototype.setSocket = function(socket) { this.end("ProtocolError"); return; } - if (! parsed) return; + if (! parsed) { cont = false; return; } packet = parsed.results; incomingBuffer = incomingBuffer.slice(parsed.size); @@ -97,6 +97,7 @@ Client.prototype.setSocket = function(socket) { self.emit('raw.' + packetName, parsed.buffer); self.emit('raw', parsed.buffer); } + var cont = true; self.socket = socket; if (self.socket.setNoDelay) self.socket.setNoDelay(true); @@ -104,8 +105,7 @@ Client.prototype.setSocket = function(socket) { self.socket.on('data', function(data) { if (self.encryptionEnabled) data = new Buffer(self.decipher.update(data), 'binary'); incomingBuffer = Buffer.concat([incomingBuffer, data]); - var parsed, packet; - while (true) { + while (cont) { if(self.compressionThreshold == -2) afterParse(null, parsePacket(incomingBuffer, self.state, self.isServer, self.packetsToParse)); else