From 5d2091a103e4ea16a984c967f45d44058f3c90ee Mon Sep 17 00:00:00 2001 From: Hans Nilsson Date: Wed, 19 May 2021 10:07:26 +0200 Subject: crypto: Fixed coredump if bad enc-flag --- lib/crypto/c_src/api_ng.c | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/crypto/c_src/api_ng.c b/lib/crypto/c_src/api_ng.c index 942d17482a..c2ae10f2ac 100644 --- a/lib/crypto/c_src/api_ng.c +++ b/lib/crypto/c_src/api_ng.c @@ -303,7 +303,6 @@ static int get_init_args(ErlNifEnv* env, return 1; err: - if (ctx_res->ctx) EVP_CIPHER_CTX_free(ctx_res->ctx); return 0; } -- cgit v1.2.1 From 5fa360d875041d7f66bc2be5b3a7462cad8a5217 Mon Sep 17 00:00:00 2001 From: Hans Nilsson Date: Wed, 19 May 2021 10:08:00 +0200 Subject: crypto: Test fixed coredump if bad enc-flag --- lib/crypto/test/crypto_SUITE.erl | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/crypto/test/crypto_SUITE.erl b/lib/crypto/test/crypto_SUITE.erl index f7b7c39099..1fdfd8aaab 100644 --- a/lib/crypto/test/crypto_SUITE.erl +++ b/lib/crypto/test/crypto_SUITE.erl @@ -49,6 +49,8 @@ app/1, appup/0, appup/1, + bad_combo/1, + bad_key_length/1, bad_cipher_name/1, bad_generate_key_name/1, bad_hash_name/1, @@ -451,6 +453,8 @@ groups() -> {no_rc2_cbc, [], [no_support, no_block]}, {no_rc4, [], [no_support, no_stream]}, {api_errors, [], [api_errors_ecdh, + bad_combo, + bad_key_length, bad_cipher_name, bad_generate_key_name, bad_hash_name, @@ -4645,6 +4649,14 @@ api_errors_ecdh(Config) when is_list(Config) -> end)() ). +bad_combo(_Config) -> + ?chk_api_name(crypto:crypto_dyn_iv_init(des_ede3_cbc, <<>>, []), + error:_). + +bad_key_length(_Config) -> + ?chk_api_name(crypto:crypto_dyn_iv_init(des_ede3_cbc, <<1>>, true), + error:{error,{"api_ng.c",_},"Can't initialize context, key_length"}). + bad_cipher_name(_Config) -> ?chk_api_name(crypto:crypto_init(foobar, <<1:128>>, true), error:{badarg,{"api_ng.c",_Line},"Unknown cipher"}). -- cgit v1.2.1