From 3f5c5cf603b2de730b0602746c0780b58d7c923d Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Fri, 16 Sep 2016 19:35:04 -0700 Subject: [PATCH] parser: fix header parsing. --- lib/net/parser.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/net/parser.js b/lib/net/parser.js index 81501b99..2a4005af 100644 --- a/lib/net/parser.js +++ b/lib/net/parser.js @@ -127,7 +127,6 @@ Parser.prototype.parse = function parse(data) { if (!this.header) { this.header = this.parseHeader(data); - this.waiting = this.header.size; return; } @@ -145,15 +144,16 @@ Parser.prototype.parse = function parse(data) { try { payload = this.parsePayload(this.header.cmd, data); } catch (e) { - this.emit('error', e); this.waiting = 24; this.header = null; + this.emit('error', e); return; } - this.emit('packet', payload); this.waiting = 24; this.header = null; + + this.emit('packet', payload); }; /** @@ -185,6 +185,8 @@ Parser.prototype.parseHeader = function parseHeader(data) { return this.error('Packet length too large: %dmb.', utils.mb(size)); } + this.waiting = size; + checksum = data.readUInt32LE(20, true); return new Header(cmd, size, checksum);