aboutsummaryrefslogtreecommitdiff
path: root/crypto/openssl/apps/ec.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssl/apps/ec.c')
-rw-r--r--crypto/openssl/apps/ec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/crypto/openssl/apps/ec.c b/crypto/openssl/apps/ec.c
index b04dadaf18c0..d2263c87392e 100644
--- a/crypto/openssl/apps/ec.c
+++ b/crypto/openssl/apps/ec.c
@@ -95,6 +95,7 @@ int MAIN(int argc, char **argv)
int informat, outformat, text = 0, noout = 0;
int pubin = 0, pubout = 0, param_out = 0;
char *infile, *outfile, *prog, *engine;
+ ENGINE *e = NULL;
char *passargin = NULL, *passargout = NULL;
char *passin = NULL, *passout = NULL;
point_conversion_form_t form = POINT_CONVERSION_UNCOMPRESSED;
@@ -235,9 +236,7 @@ int MAIN(int argc, char **argv)
ERR_load_crypto_strings();
-# ifndef OPENSSL_NO_ENGINE
- setup_engine(bio_err, engine, 0);
-# endif
+ e = setup_engine(bio_err, engine, 0);
if (!app_passwd(bio_err, passargin, passargout, &passin, &passout)) {
BIO_printf(bio_err, "Error getting passwords\n");
@@ -349,6 +348,7 @@ int MAIN(int argc, char **argv)
BIO_free_all(out);
if (eckey)
EC_KEY_free(eckey);
+ release_engine(e);
if (passin)
OPENSSL_free(passin);
if (passout)