ENGINE fixes

Reviewed-by: Richard Levitte <levitte@openssl.org>
diff --git a/crypto/ec/ec_key.c b/crypto/ec/ec_key.c
index 477d4a2..cb6bcdc 100644
--- a/crypto/ec/ec_key.c
+++ b/crypto/ec/ec_key.c
@@ -65,6 +65,9 @@
 #include <string.h>
 #include "ec_lcl.h"
 #include <openssl/err.h>
+#ifndef OPENSSSL_NO_ENGINE
+# include <openssl/engine.h>
+#endif
 
 EC_KEY *EC_KEY_new(void)
 {
@@ -104,6 +107,11 @@
     }
 #endif
 
+#ifndef OPENSSL_NO_ENGINE
+    if (r->engine)
+        ENGINE_finish(r->engine);
+#endif
+
     EC_GROUP_free(r->group);
     EC_POINT_free(r->pub_key);
     BN_clear_free(r->priv_key);