From 31f7c7e0f2e31b9a0573382481841215f4f01dc8 Mon Sep 17 00:00:00 2001 From: webzwo0i Date: Fri, 9 Oct 2015 14:55:19 +0200 Subject: [PATCH 1/2] check if ChangesetRequest granularity is a number (#2796) --- src/node/handler/PadMessageHandler.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index 91fa37e4..13470b52 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -1365,6 +1365,11 @@ function handleChangesetRequest(client, message) messageLogger.warn("Dropped message, changeset request has no granularity!"); return; } + if(Number(message.data.granularity) !== message.data.granularity || message.data.granularity % 1 !== 0) + { + messageLogger.warn("Dropped message, changeset request granularity is not an integer!"); + return; + } if(message.data.start == null) { messageLogger.warn("Dropped message, changeset request has no start!"); From 1ee1f818dbe29e09a4733d0248663e52451e90dc Mon Sep 17 00:00:00 2001 From: webzwo0i Date: Fri, 9 Oct 2015 14:55:59 +0200 Subject: [PATCH 2/2] if granularity is negative, endNum is negative and loop --- src/node/handler/PadMessageHandler.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index 13470b52..6515e17e 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -1365,7 +1365,8 @@ function handleChangesetRequest(client, message) messageLogger.warn("Dropped message, changeset request has no granularity!"); return; } - if(Number(message.data.granularity) !== message.data.granularity || message.data.granularity % 1 !== 0) + //https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger#Polyfill + if(Math.floor(message.data.granularity) !== message.data.granularity) { messageLogger.warn("Dropped message, changeset request granularity is not an integer!"); return;