Enable memory checking earlier (we correctly free everything
[openssl.git] / apps / openssl.c
index 7bedff48cc73fa1bf72dcc619fafdfec9c7cb80f..71f5ba7f6704020d82eb491edcc5ae52a9c4b99c 100644 (file)
@@ -120,9 +120,6 @@ int main(int Argc, char *Argv[])
        arg.data=NULL;
        arg.count=0;
 
-       /* SSLeay_add_ssl_algorithms(); is called in apps_startup() */
-       apps_startup();
-
 #if defined(DEBUG) && !defined(WINDOWS) && !defined(MSDOS)
 #ifdef SIGBUS
        signal(SIGBUS,sig_stop);
@@ -132,12 +129,14 @@ int main(int Argc, char *Argv[])
 #endif
 #endif
 
+       CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
+
+       apps_startup();
+
        if (bio_err == NULL)
                if ((bio_err=BIO_new(BIO_s_file())) != NULL)
                        BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
 
-       CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
-
        ERR_load_crypto_strings();
 
        /* Lets load up our environment a little */
@@ -147,7 +146,9 @@ int main(int Argc, char *Argv[])
        if (p == NULL)
                {
                strcpy(config_name,X509_get_default_cert_area());
+#ifndef VMS
                strcat(config_name,"/");
+#endif
                strcat(config_name,OPENSSL_CONF);
                p=config_name;
                }
@@ -217,7 +218,7 @@ int main(int Argc, char *Argv[])
                        }
                if (ret != 0)
                        BIO_printf(bio_err,"error in %s\n",argv[0]);
-               BIO_flush(bio_err);
+               (void)BIO_flush(bio_err);
                }
        BIO_printf(bio_err,"bad exit\n");
        ret=1;
@@ -234,6 +235,12 @@ end:
        EVP_cleanup();
        ERR_free_strings();
 
+#ifdef LEVITTE_DEBUG
+       CRYPTO_push_info("Just to make sure I get a memory leak I can see :-)");
+       (void)Malloc(1024);
+       CRYPTO_pop_info();
+#endif
+
        CRYPTO_mem_leaks(bio_err);
        if (bio_err != NULL)
                {