diff options
author | Brian Turek <brian.turek@gmail.com> | 2014-10-05 10:51:09 -0400 |
---|---|---|
committer | Brian Turek <brian.turek@gmail.com> | 2014-10-05 10:51:09 -0400 |
commit | 60a1074c2ff89d4b24f8de3f0ef50233ed2db738 (patch) | |
tree | ba684bcce2a258c4a986403341d78da99f352875 | |
parent | db68ec213c17f34eb105e9561b55045c0f7cbc65 (diff) | |
download | jsSHA-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.js | 9 |
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; } |