summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Turek <brian.turek@gmail.com>2014-10-05 10:51:09 -0400
committerBrian Turek <brian.turek@gmail.com>2014-10-05 10:51:09 -0400
commit60a1074c2ff89d4b24f8de3f0ef50233ed2db738 (patch)
treeba684bcce2a258c4a986403341d78da99f352875
parentdb68ec213c17f34eb105e9561b55045c0f7cbc65 (diff)
downloadjsSHA-60a1074c2ff89d4b24f8de3f0ef50233ed2db738.zip
jsSHA-60a1074c2ff89d4b24f8de3f0ef50233ed2db738.tar.gz
jsSHA-60a1074c2ff89d4b24f8de3f0ef50233ed2db738.tar.bz2
Check array lengths before assignment to suppress errors in icedove
-rw-r--r--src/sha_dev.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/sha_dev.js b/src/sha_dev.js
index 7cd03cc..f034652 100644
--- a/src/sha_dev.js
+++ b/src/sha_dev.js
@@ -90,6 +90,10 @@ var SUPPORTED_ALGS = 4 | 2 | 1;
for (j = 0; j < binArr.length; j += 1)
{
+ if (((byteCnt >>> 2) + 1) > bin.length)
+ {
+ bin.push(0);
+ }
bin[byteCnt >>> 2] |= binArr[j] << (24 - (8 * (byteCnt % 4)));
byteCnt += 1;
}
@@ -101,6 +105,11 @@ var SUPPORTED_ALGS = 4 | 2 | 1;
{
codePnt = str.charCodeAt(i);
+ if (((byteCnt >>> 2) + 1) > bin.length)
+ {
+ bin.push(0);
+ }
+
bin[byteCnt >>> 2] |= str.charCodeAt(i) << (16 - (8 * (byteCnt % 4)));
byteCnt += 2;
}