From 687afe420d592488957510989f2e35976e50aa33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=BA=D0=BE=D0=B2=D0=BE=D1=80=D0=BE=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B8=D1=82=D0=B0=20=D0=90=D0=BD=D0=B4=D1=80?= =?UTF-8?q?=D0=B5=D0=B5=D0=B2=D0=B8=D1=87?= Date: Mon, 5 Mar 2018 14:48:18 +0300 Subject: [PATCH] [fix] long whitespace is evil, don't allow it There are broken sequences like "([^smth])*\s+" or "[^smth]+ *". This prevents abusing those. --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 4eeebfe..047b5eb 100644 --- a/index.js +++ b/index.js @@ -417,8 +417,8 @@ function isSafe(userAgent) { for (var i = 0; i < userAgent.length; i++) { code = userAgent.charCodeAt(i); - // numbers between 0 and 9, letters between a and z - if ((code >= 48 && code <= 57) || (code >= 97 && code <= 122)) { + // numbers between 0 and 9, letters between a and z, spaces and control + if ((code >= 48 && code <= 57) || (code >= 97 && code <= 122) || code <= 32) { consecutive++; } else { consecutive = 0;