Skip to content

Commit fb58cae

Browse files
committed
src: throw ERR_MISSING_ARGS in node_crypto.cc
PR-URL: #20121 Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]>
1 parent a82902f commit fb58cae

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

src/node_crypto.cc

+17-15
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ void SecureContext::SetKey(const FunctionCallbackInfo<Value>& args) {
494494

495495
unsigned int len = args.Length();
496496
if (len < 1) {
497-
return env->ThrowError("Private key argument is mandatory");
497+
return THROW_ERR_MISSING_ARGS(env, "Private key argument is mandatory");
498498
}
499499

500500
if (len > 2) {
@@ -692,7 +692,7 @@ void SecureContext::SetCert(const FunctionCallbackInfo<Value>& args) {
692692
ASSIGN_OR_RETURN_UNWRAP(&sc, args.Holder());
693693

694694
if (args.Length() != 1) {
695-
return env->ThrowTypeError("Certificate argument is mandatory");
695+
return THROW_ERR_MISSING_ARGS(env, "Certificate argument is mandatory");
696696
}
697697

698698
BIO* bio = LoadBIO(env, args[0]);
@@ -766,7 +766,7 @@ void SecureContext::AddCACert(const FunctionCallbackInfo<Value>& args) {
766766
ClearErrorOnReturn clear_error_on_return;
767767

768768
if (args.Length() != 1) {
769-
return env->ThrowTypeError("CA certificate argument is mandatory");
769+
return THROW_ERR_MISSING_ARGS(env, "CA certificate argument is mandatory");
770770
}
771771

772772
BIO* bio = LoadBIO(env, args[0]);
@@ -797,7 +797,7 @@ void SecureContext::AddCRL(const FunctionCallbackInfo<Value>& args) {
797797
ASSIGN_OR_RETURN_UNWRAP(&sc, args.Holder());
798798

799799
if (args.Length() != 1) {
800-
return env->ThrowTypeError("CRL argument is mandatory");
800+
return THROW_ERR_MISSING_ARGS(env, "CRL argument is mandatory");
801801
}
802802

803803
ClearErrorOnReturn clear_error_on_return;
@@ -900,7 +900,7 @@ void SecureContext::SetCiphers(const FunctionCallbackInfo<Value>& args) {
900900
ClearErrorOnReturn clear_error_on_return;
901901

902902
if (args.Length() != 1) {
903-
return env->ThrowTypeError("Ciphers argument is mandatory");
903+
return THROW_ERR_MISSING_ARGS(env, "Ciphers argument is mandatory");
904904
}
905905

906906
THROW_AND_RETURN_IF_NOT_STRING(env, args[0], "Ciphers");
@@ -916,7 +916,7 @@ void SecureContext::SetECDHCurve(const FunctionCallbackInfo<Value>& args) {
916916
Environment* env = sc->env();
917917

918918
if (args.Length() != 1)
919-
return env->ThrowTypeError("ECDH curve name argument is mandatory");
919+
return THROW_ERR_MISSING_ARGS(env, "ECDH curve name argument is mandatory");
920920

921921
THROW_AND_RETURN_IF_NOT_STRING(env, args[0], "ECDH curve name");
922922

@@ -939,7 +939,7 @@ void SecureContext::SetDHParam(const FunctionCallbackInfo<Value>& args) {
939939
// Auto DH is not supported in openssl 1.0.1, so dhparam needs
940940
// to be specified explicitly
941941
if (args.Length() != 1)
942-
return env->ThrowTypeError("DH argument is mandatory");
942+
return THROW_ERR_MISSING_ARGS(env, "DH argument is mandatory");
943943

944944
// Invalid dhparam is silently discarded and DHE is no longer used.
945945
BIO* bio = LoadBIO(env, args[0]);
@@ -994,7 +994,8 @@ void SecureContext::SetSessionIdContext(
994994
Environment* env = sc->env();
995995

996996
if (args.Length() != 1) {
997-
return env->ThrowTypeError("Session ID context argument is mandatory");
997+
return THROW_ERR_MISSING_ARGS(
998+
env, "Session ID context argument is mandatory");
998999
}
9991000

10001001
THROW_AND_RETURN_IF_NOT_STRING(env, args[0], "Session ID context");
@@ -1065,7 +1066,7 @@ void SecureContext::LoadPKCS12(const FunctionCallbackInfo<Value>& args) {
10651066
ClearErrorOnReturn clear_error_on_return;
10661067

10671068
if (args.Length() < 1) {
1068-
return env->ThrowTypeError("PFX certificate argument is mandatory");
1069+
return THROW_ERR_MISSING_ARGS(env, "PFX certificate argument is mandatory");
10691070
}
10701071

10711072
in = LoadBIO(env, args[0]);
@@ -1198,7 +1199,7 @@ void SecureContext::SetTicketKeys(const FunctionCallbackInfo<Value>& args) {
11981199
Environment* env = wrap->env();
11991200

12001201
if (args.Length() < 1) {
1201-
return env->ThrowTypeError("Ticket keys argument is mandatory");
1202+
return THROW_ERR_MISSING_ARGS(env, "Ticket keys argument is mandatory");
12021203
}
12031204

12041205
THROW_AND_RETURN_IF_NOT_BUFFER(env, args[0], "Ticket keys");
@@ -1951,7 +1952,7 @@ void SSLWrap<Base>::SetSession(const FunctionCallbackInfo<Value>& args) {
19511952
ASSIGN_OR_RETURN_UNWRAP(&w, args.Holder());
19521953

19531954
if (args.Length() < 1) {
1954-
return env->ThrowError("Session argument is mandatory");
1955+
return THROW_ERR_MISSING_ARGS(env, "Session argument is mandatory");
19551956
}
19561957

19571958
THROW_AND_RETURN_IF_NOT_BUFFER(env, args[0], "Session");
@@ -2076,7 +2077,7 @@ void SSLWrap<Base>::SetOCSPResponse(
20762077
Environment* env = w->env();
20772078

20782079
if (args.Length() < 1)
2079-
return env->ThrowTypeError("OCSP response argument is mandatory");
2080+
return THROW_ERR_MISSING_ARGS(env, "OCSP response argument is mandatory");
20802081

20812082
THROW_AND_RETURN_IF_NOT_BUFFER(env, args[0], "OCSP response");
20822083

@@ -4084,7 +4085,7 @@ void DiffieHellman::DiffieHellmanGroup(
40844085
DiffieHellman* diffieHellman = new DiffieHellman(env, args.This());
40854086

40864087
if (args.Length() != 1) {
4087-
return env->ThrowError("Group name argument is mandatory");
4088+
return THROW_ERR_MISSING_ARGS(env, "Group name argument is mandatory");
40884089
}
40894090

40904091
THROW_AND_RETURN_IF_NOT_STRING(env, args[0], "Group name");
@@ -4234,7 +4235,8 @@ void DiffieHellman::ComputeSecret(const FunctionCallbackInfo<Value>& args) {
42344235
BIGNUM* key = nullptr;
42354236

42364237
if (args.Length() == 0) {
4237-
return env->ThrowError("Other party's public key argument is mandatory");
4238+
return THROW_ERR_MISSING_ARGS(
4239+
env, "Other party's public key argument is mandatory");
42384240
} else {
42394241
THROW_AND_RETURN_IF_NOT_BUFFER(env, args[0], "Other party's public key");
42404242
key = BN_bin2bn(
@@ -4304,7 +4306,7 @@ void DiffieHellman::SetKey(const v8::FunctionCallbackInfo<v8::Value>& args,
43044306

43054307
if (args.Length() == 0) {
43064308
snprintf(errmsg, sizeof(errmsg), "%s argument is mandatory", what);
4307-
return env->ThrowError(errmsg);
4309+
return THROW_ERR_MISSING_ARGS(env, errmsg);
43084310
}
43094311

43104312
if (!Buffer::HasInstance(args[0])) {

src/node_errors.h

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ namespace node {
2222
V(ERR_INVALID_ARG_VALUE, TypeError) \
2323
V(ERR_INVALID_ARG_TYPE, TypeError) \
2424
V(ERR_MEMORY_ALLOCATION_FAILED, Error) \
25+
V(ERR_MISSING_ARGS, TypeError) \
2526
V(ERR_MISSING_MODULE, Error) \
2627
V(ERR_STRING_TOO_LONG, Error) \
2728
V(ERR_BUFFER_TOO_LARGE, Error)

0 commit comments

Comments
 (0)