From 02fdda5bae013b1069da6140d88ee1a7001f2bcf Mon Sep 17 00:00:00 2001 From: Alex Karpinski Date: Wed, 4 Apr 2018 16:06:41 +0000 Subject: [PATCH] Fix infinite loop from empty password --- xor.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/xor.js b/xor.js index f0e1738..19ed107 100644 --- a/xor.js +++ b/xor.js @@ -56,14 +56,16 @@ XorEncoder.prototype.encrypt = function(buffer) { }; var valueChars = charArray(value); - var repeatedPassChars = charArray(repeatString(this.key, value)); + if (this.key) { + var repeatedPassChars = charArray(repeatString(this.key, value)); + var valueChars = xorArrays(valueChars, repeatedPassChars); + } var repeatedIVChars = charArray(repeatString(this.iv, value)); - var pre = xorArrays(valueChars, repeatedIVChars); - var post = xorArrays(pre, repeatedPassChars); + var post = xorArrays(valueChars, repeatedIVChars); return joinCharCodes(post); } -module.exports = XorEncoder; \ No newline at end of file +module.exports = XorEncoder;