diff --git a/src/node_crypto.cc b/src/node_crypto.cc index 1a532ae66f1de2..88b905f7f990d7 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -5158,10 +5158,7 @@ void DiffieHellman::DiffieHellmanGroup( Environment* env = Environment::GetCurrent(args); DiffieHellman* diffieHellman = new DiffieHellman(env, args.This()); - if (args.Length() != 1) { - return THROW_ERR_MISSING_ARGS(env, "Group name argument is mandatory"); - } - + CHECK_EQ(args.Length(), 1); THROW_AND_RETURN_IF_NOT_STRING(env, args[0], "Group name"); bool initialized = false; @@ -5169,7 +5166,7 @@ void DiffieHellman::DiffieHellmanGroup( const node::Utf8Value group_name(env->isolate(), args[0]); const modp_group* group = FindDiffieHellmanGroup(*group_name); if (group == nullptr) - return env->ThrowError("Unknown group"); + return THROW_ERR_CRYPTO_UNKNOWN_DH_GROUP(env, "Unknown group"); initialized = diffieHellman->Init(group->prime, group->prime_size, diff --git a/test/parallel/test-crypto-dh.js b/test/parallel/test-crypto-dh.js index 855244a70b1b93..7824800f9bee2e 100644 --- a/test/parallel/test-crypto-dh.js +++ b/test/parallel/test-crypto-dh.js @@ -389,7 +389,11 @@ assert.throws( function() { crypto.getDiffieHellman('unknown-group'); }, - /^Error: Unknown group$/, + { + name: 'Error', + code: 'ERR_CRYPTO_UNKNOWN_DH_GROUP', + message: 'Unknown group' + }, 'crypto.getDiffieHellman(\'unknown-group\') ' + 'failed to throw the expected error.' );