From be6ae2c46467a7783f02cca130bb2ad667a2b886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Obernd=C3=B6rfer?= Date: Thu, 5 Mar 2015 13:32:44 +0100 Subject: [PATCH] Escape email before using as regular expression in emailCheck method. --- src/keyring/keyring.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/keyring/keyring.js b/src/keyring/keyring.js index 2a3d2e99..256b55cf 100644 --- a/src/keyring/keyring.js +++ b/src/keyring/keyring.js @@ -123,7 +123,9 @@ KeyArray.prototype.getForAddress = function(email) { * @return {Boolean} True if the email address is defined in the specified key */ function emailCheck(email, key) { - var emailRegex = new RegExp('<' + email.toLowerCase() + '>'); + // escape email before using in regular expression + email = email.toLowerCase().replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + var emailRegex = new RegExp('<' + email + '>'); var keyEmails = key.getUserIds(); for (var i = 0; i < keyEmails.length; i++) { if (emailRegex.test(keyEmails[i].toLowerCase())) {