From a0e2c6d2843ea6e37035a949827cdcc7949026d6 Mon Sep 17 00:00:00 2001 From: Yaniv Friedensohn Date: Sat, 11 May 2019 20:00:38 +0300 Subject: src: add error codes to errors thrown in C++ PR-URL: https://github.com/nodejs/node/pull/27700 Reviewed-By: James M Snell Reviewed-By: Joyee Cheung Reviewed-By: Matteo Collina Reviewed-By: Rich Trott --- lib/internal/crypto/hash.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/internal/crypto/hash.js') diff --git a/lib/internal/crypto/hash.js b/lib/internal/crypto/hash.js index 38b125e5f2..7e4a83ca93 100644 --- a/lib/internal/crypto/hash.js +++ b/lib/internal/crypto/hash.js @@ -25,7 +25,8 @@ const { ERR_CRYPTO_HASH_UPDATE_FAILED, ERR_INVALID_ARG_TYPE } = require('internal/errors').codes; -const { validateString, validateUint32 } = require('internal/validators'); +const { validateEncoding, validateString, validateUint32 } = + require('internal/validators'); const { normalizeEncoding } = require('internal/util'); const { isArrayBufferView } = require('internal/util/types'); const LazyTransform = require('internal/streams/lazy_transform'); @@ -61,6 +62,8 @@ Hash.prototype._flush = function _flush(callback) { }; Hash.prototype.update = function update(data, encoding) { + encoding = encoding || getDefaultEncoding(); + const state = this[kState]; if (state[kFinalized]) throw new ERR_CRYPTO_HASH_FINALIZED(); @@ -74,7 +77,9 @@ Hash.prototype.update = function update(data, encoding) { data); } - if (!this[kHandle].update(data, encoding || getDefaultEncoding())) + validateEncoding(data, encoding); + + if (!this[kHandle].update(data, encoding)) throw new ERR_CRYPTO_HASH_UPDATE_FAILED(); return this; }; -- cgit v1.2.3