summaryrefslogtreecommitdiff
path: root/lib/crypto.js
diff options
context:
space:
mode:
authorTobias Nießen <tniessen@tnie.de>2017-04-02 15:00:32 +0200
committerAnna Henningsen <anna@addaleax.net>2017-04-10 16:37:09 +0200
commit88351a22eda7c2d3371a1faaaa30ab846ce77f52 (patch)
tree9b199102b865e65df283d86468630a2938085bb6 /lib/crypto.js
parentcecdf7c1187aecc0e34c7bfffef68f8faf1ecf09 (diff)
downloadandroid-node-v8-88351a22eda7c2d3371a1faaaa30ab846ce77f52.tar.gz
android-node-v8-88351a22eda7c2d3371a1faaaa30ab846ce77f52.tar.bz2
android-node-v8-88351a22eda7c2d3371a1faaaa30ab846ce77f52.zip
crypto: handle exceptions in hmac/hash.digest
Forced conversion of the encoding parameter to a string within crypto.js, fixing segmentation faults in node_crypto.cc. Fixes: https://github.com/nodejs/node/issues/9819 PR-URL: https://github.com/nodejs/node/pull/12164 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib/crypto.js')
-rw-r--r--lib/crypto.js3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/crypto.js b/lib/crypto.js
index 3e7ed5e9c8..0785ab617e 100644
--- a/lib/crypto.js
+++ b/lib/crypto.js
@@ -100,7 +100,8 @@ Hash.prototype.update = function update(data, encoding) {
Hash.prototype.digest = function digest(outputEncoding) {
outputEncoding = outputEncoding || exports.DEFAULT_ENCODING;
- return this._handle.digest(outputEncoding);
+ // Explicit conversion for backward compatibility.
+ return this._handle.digest(`${outputEncoding}`);
};