summaryrefslogtreecommitdiff
path: root/lib/internal/crypto
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2019-03-20 12:05:33 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2019-03-27 17:05:13 +0100
commit6c913fb0287fa7f823fcd0fbe7035bac3c4f75ec (patch)
treea75fc78511299cc824dcde6c71db46980c566146 /lib/internal/crypto
parent50a3fe20ead5fe9a77f2acd828f52754aa621406 (diff)
downloadandroid-node-v8-6c913fb0287fa7f823fcd0fbe7035bac3c4f75ec.tar.gz
android-node-v8-6c913fb0287fa7f823fcd0fbe7035bac3c4f75ec.tar.bz2
android-node-v8-6c913fb0287fa7f823fcd0fbe7035bac3c4f75ec.zip
lib: remove return values from validation functions
This makes sure the validation functions do not cause any side effects. Validation functions should ideally only validate the input without any other effect. Since the input value must be known from the callee, there is no reason to return the input value. PR-URL: https://github.com/nodejs/node/pull/26809 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib/internal/crypto')
-rw-r--r--lib/internal/crypto/scrypt.js35
1 files changed, 23 insertions, 12 deletions
diff --git a/lib/internal/crypto/scrypt.js b/lib/internal/crypto/scrypt.js
index d364c13859..e3cc130c74 100644
--- a/lib/internal/crypto/scrypt.js
+++ b/lib/internal/crypto/scrypt.js
@@ -76,31 +76,42 @@ function check(password, salt, keylen, options) {
password = validateArrayBufferView(password, 'password');
salt = validateArrayBufferView(salt, 'salt');
- keylen = validateUint32(keylen, 'keylen');
+ validateUint32(keylen, 'keylen');
let { N, r, p, maxmem } = defaults;
if (options && options !== defaults) {
let has_N, has_r, has_p;
- if (has_N = (options.N !== undefined))
- N = validateUint32(options.N, 'N');
+ if (has_N = (options.N !== undefined)) {
+ validateUint32(options.N, 'N');
+ N = options.N;
+ }
if (options.cost !== undefined) {
if (has_N) throw new ERR_CRYPTO_SCRYPT_INVALID_PARAMETER();
- N = validateUint32(options.cost, 'cost');
+ validateUint32(options.cost, 'cost');
+ N = options.cost;
+ }
+ if (has_r = (options.r !== undefined)) {
+ validateUint32(options.r, 'r');
+ r = options.r;
}
- if (has_r = (options.r !== undefined))
- r = validateUint32(options.r, 'r');
if (options.blockSize !== undefined) {
if (has_r) throw new ERR_CRYPTO_SCRYPT_INVALID_PARAMETER();
- r = validateUint32(options.blockSize, 'blockSize');
+ validateUint32(options.blockSize, 'blockSize');
+ r = options.blockSize;
+ }
+ if (has_p = (options.p !== undefined)) {
+ validateUint32(options.p, 'p');
+ p = options.p;
}
- if (has_p = (options.p !== undefined))
- p = validateUint32(options.p, 'p');
if (options.parallelization !== undefined) {
if (has_p) throw new ERR_CRYPTO_SCRYPT_INVALID_PARAMETER();
- p = validateUint32(options.parallelization, 'parallelization');
+ validateUint32(options.parallelization, 'parallelization');
+ p = options.parallelization;
+ }
+ if (options.maxmem !== undefined) {
+ validateUint32(options.maxmem, 'maxmem');
+ maxmem = options.maxmem;
}
- if (options.maxmem !== undefined)
- maxmem = validateUint32(options.maxmem, 'maxmem');
if (N === 0) N = defaults.N;
if (r === 0) r = defaults.r;
if (p === 0) p = defaults.p;