Third argument to shl_load() is "long address", not a pointer.
[oweals/openssl.git] / apps / dh.c
index 20581f66495871df3026f067f771efdf14e76362..c10ea96b90ac9a4cd7c92b00cf7fdfac44a532b1 100644 (file)
--- a/apps/dh.c
+++ b/apps/dh.c
@@ -69,7 +69,6 @@
 #include <openssl/dh.h>
 #include <openssl/x509.h>
 #include <openssl/pem.h>
-#include <openssl/engine.h>
 
 #undef PROG
 #define PROG   dh_main
@@ -101,6 +100,9 @@ int MAIN(int argc, char **argv)
                if ((bio_err=BIO_new(BIO_s_file())) != NULL)
                        BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
 
+       if (!load_config(bio_err, NULL))
+               goto end;
+
        engine=NULL;
        infile=NULL;
        outfile=NULL;
@@ -330,6 +332,7 @@ end:
        if (in != NULL) BIO_free(in);
        if (out != NULL) BIO_free_all(out);
        if (dh != NULL) DH_free(dh);
-       EXIT(ret);
+       apps_shutdown();
+       OPENSSL_EXIT(ret);
        }
 #endif