diff options
author | Benjamin Gruenbaum <benji@peer5.com> | 2017-09-01 16:08:40 +0300 |
---|---|---|
committer | Benjamin Gruenbaum <benji@peer5.com> | 2017-09-04 10:09:14 +0300 |
commit | 484bfa2e378d33fd53a6a751dfaa59b0c90b80cb (patch) | |
tree | a2349f2214956976ab50d86fe39445006698806f /src/node_crypto.cc | |
parent | 8d5b0130da1e50262459cf87d47c10198a107662 (diff) | |
download | android-node-v8-484bfa2e378d33fd53a6a751dfaa59b0c90b80cb.tar.gz android-node-v8-484bfa2e378d33fd53a6a751dfaa59b0c90b80cb.tar.bz2 android-node-v8-484bfa2e378d33fd53a6a751dfaa59b0c90b80cb.zip |
crypto: accept decimal Number in randomBytes
This change adds the ability to pass a double into randomBytes.
PR-URL: https://github.com/nodejs/node/pull/15130
Fixes: https://github.com/nodejs/node/issues/15118
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'src/node_crypto.cc')
-rw-r--r-- | src/node_crypto.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/node_crypto.cc b/src/node_crypto.cc index e6acb565d6..3d3c53b4b8 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -5616,13 +5616,13 @@ void RandomBytesProcessSync(Environment* env, void RandomBytes(const FunctionCallbackInfo<Value>& args) { Environment* env = Environment::GetCurrent(args); - if (!args[0]->IsUint32()) { + if (!args[0]->IsNumber() || args[0].As<v8::Number>()->Value() < 0) { return env->ThrowTypeError("size must be a number >= 0"); } const int64_t size = args[0]->IntegerValue(); - if (size < 0 || size > Buffer::kMaxLength) - return env->ThrowRangeError("size is not a valid Smi"); + if (size > Buffer::kMaxLength) + return env->ThrowTypeError("size must be a uint32"); Local<Object> obj = env->randombytes_constructor_template()-> NewInstance(env->context()).ToLocalChecked(); |