From cbabf42fffdf5ec9d3ac6c91b76be21d76fece56 Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Thu, 17 Mar 2016 11:15:28 +0100 Subject: [PATCH] check if e.field is defined when completing serializer/deserializer errors --- src/client.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/client.js b/src/client.js index 55218b0..2b394ba 100644 --- a/src/client.js +++ b/src/client.js @@ -54,8 +54,13 @@ class Client extends EventEmitter this.splitter.recognizeLegacyPing = state === states.HANDSHAKING; this.serializer.on('error', (e) => { - const parts=e.field.split("."); - parts.shift(); + let parts; + if(e.field) { + parts = e.field.split("."); + parts.shift(); + } + else + parts=[]; const serializerDirection = !this.isServer ? 'toServer' : 'toClient'; e.field = [this.protocolState, serializerDirection].concat(parts).join("."); e.message = `Serialization error for ${e.field} : ${e.message}`; @@ -68,8 +73,13 @@ class Client extends EventEmitter this.deserializer.on('error', (e) => { - const parts=e.field.split("."); - parts.shift(); + let parts; + if(e.field) { + parts = e.field.split("."); + parts.shift(); + } + else + parts=[]; const deserializerDirection = this.isServer ? 'toServer' : 'toClient'; e.field = [this.protocolState, deserializerDirection].concat(parts).join("."); e.message = `Deserialization error for ${e.field} : ${e.message}`;