diff options
author | Anna Henningsen <anna@addaleax.net> | 2017-04-30 00:48:46 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2017-05-03 19:19:05 +0200 |
commit | 6c2daf0ce9cffbadf51359ddfb804f5a6107737c (patch) | |
tree | c8740466f1e7ff03492b09533a327d07d1c78709 /test | |
parent | 9990be2919fb73b2285118a236dc6f7adbdf7cef (diff) | |
download | android-node-v8-6c2daf0ce9cffbadf51359ddfb804f5a6107737c.tar.gz android-node-v8-6c2daf0ce9cffbadf51359ddfb804f5a6107737c.tar.bz2 android-node-v8-6c2daf0ce9cffbadf51359ddfb804f5a6107737c.zip |
crypto: throw proper errors if out enc is UTF-16
Throw `Error`s instead of hard crashing when the `.digest()` output
encoding is UTF-16.
Fixes: https://github.com/nodejs/node/issues/9817
PR-URL: https://github.com/nodejs/node/pull/12752
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-crypto-hash.js | 10 | ||||
-rw-r--r-- | test/parallel/test-crypto-hmac.js | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/test/parallel/test-crypto-hash.js b/test/parallel/test-crypto-hash.js index 0d55d4236a..28f0f2f303 100644 --- a/test/parallel/test-crypto-hash.js +++ b/test/parallel/test-crypto-hash.js @@ -108,10 +108,12 @@ const h3 = crypto.createHash('sha256'); h3.digest(); assert.throws(function() { h3.digest(); -}, - /Digest already called/); +}, /Digest already called/); assert.throws(function() { h3.update('foo'); -}, - /Digest already called/); +}, /Digest already called/); + +assert.throws(function() { + crypto.createHash('sha256').digest('ucs2'); +}, /^Error: hash\.digest\(\) does not support UTF-16$/); diff --git a/test/parallel/test-crypto-hmac.js b/test/parallel/test-crypto-hmac.js index a3372bcb72..94c5cefa05 100644 --- a/test/parallel/test-crypto-hmac.js +++ b/test/parallel/test-crypto-hmac.js @@ -377,3 +377,7 @@ for (let i = 0, l = rfc2202_sha1.length; i < l; i++) { `Test HMAC-SHA1 : Test case ${i + 1} rfc 2202` ); } + +assert.throws(function() { + crypto.createHmac('sha256', 'w00t').digest('ucs2'); +}, /^Error: hmac\.digest\(\) does not support UTF-16$/); |