Fix infinite loop

This commit is contained in:
roblabla 2015-02-05 18:25:59 +00:00
parent f29f501ea7
commit 8a81039e88

View File

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