diff --git a/c_src/sign.c b/c_src/sign.c index 292e31c..fb06203 100644 --- a/c_src/sign.c +++ b/c_src/sign.c @@ -468,6 +468,10 @@ enacl_crypto_sign_verify_detached(ErlNifEnv *env, int argc, return enif_make_badarg(env); } + if (sig.size != crypto_sign_BYTES) { + return enif_make_badarg(env); + } + if (pk.size != crypto_sign_PUBLICKEYBYTES) { return enif_make_badarg(env); } diff --git a/eqc_test/enacl_eqc.erl b/eqc_test/enacl_eqc.erl index 38464b4..6093a5b 100644 --- a/eqc_test/enacl_eqc.erl +++ b/eqc_test/enacl_eqc.erl @@ -419,7 +419,7 @@ signed_message(M) -> ?FAULT(signed_message_bad(), signed_message_good(M)). signed_message_d(M) -> - ?FAULT(signed_message_bad(), signed_message_good(M)). + ?FAULT(signed_message_bad_d(), signed_message_good_d(M)). signed_message_valid({valid, _}, _) -> true; signed_message_valid({invalid, _}, _) -> true;