From bec8be4ccdf3859861a86eaf5622cf0e04cd2459 Mon Sep 17 00:00:00 2001 From: Doug Hogan Date: Thu, 3 Jan 2019 23:11:44 -0800 Subject: Change bin_from_bn to return atom_error on error. * Add error checking for OpenSSL call. --- lib/crypto/c_src/bn.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib/crypto/c_src') diff --git a/lib/crypto/c_src/bn.c b/lib/crypto/c_src/bn.c index 67a6bb6279..ef69c84679 100644 --- a/lib/crypto/c_src/bn.c +++ b/lib/crypto/c_src/bn.c @@ -84,12 +84,13 @@ ERL_NIF_TERM bin_from_bn(ErlNifEnv* env, const BIGNUM *bn) if ((bin_ptr = enif_make_new_binary(env, (size_t)bn_len, &term)) == NULL) goto err; - BN_bn2bin(bn, bin_ptr); + if (BN_bn2bin(bn, bin_ptr) < 0) + goto err; return term; err: - return enif_make_badarg(env); + return atom_error; } ERL_NIF_TERM mod_exp_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) -- cgit v1.2.3