Use MemCheck_start() instead of CRYPTO_mem_ctrl(), and generate a small leak to test...
[openssl.git] / apps / openssl.c
index 21724201d6f19ca94d62a67276efcd004d81e12a..27073f51c3087293d0b241a4b522e936debef935 100644 (file)
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
-#include "bio.h"
-#include "crypto.h"
-#include "lhash.h"
-#include "conf.h"
-#include "x509.h"
-#include "pem.h"
-#include "ssl.h"
+#include <openssl/bio.h>
+#include <openssl/crypto.h>
+#include <openssl/lhash.h>
+#include <openssl/conf.h>
+#include <openssl/x509.h>
+#include <openssl/pem.h>
+#include <openssl/ssl.h>
 #define SSLEAY /* turn off a few special case MONOLITH macros */
 #define USE_SOCKETS /* needed for the _O_BINARY defs in the MS world */
 #define SSLEAY_SRC
 #include "apps.h"
 #include "s_apps.h"
-#include "err.h"
+#include <openssl/err.h>
 
 /*
 #ifdef WINDOWS
 #endif
 */
 
-#ifndef NOPROTO
 static unsigned long MS_CALLBACK hash(FUNCTION *a);
 static int MS_CALLBACK cmp(FUNCTION *a,FUNCTION *b);
 static LHASH *prog_init(void );
 static int do_cmd(LHASH *prog,int argc,char *argv[]);
-#else
-static unsigned long MS_CALLBACK hash();
-static int MS_CALLBACK cmp();
-static LHASH *prog_init();
-static int do_cmd();
-#endif
-
 LHASH *config=NULL;
 char *default_config_file=NULL;
 
@@ -144,7 +136,7 @@ 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);
 
-       CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
+       MemCheck_start()
 
        ERR_load_crypto_strings();
 
@@ -155,7 +147,9 @@ int main(int Argc, char *Argv[])
        if (p == NULL)
                {
                strcpy(config_name,X509_get_default_cert_area());
-               strcat(config_name,"/lib/");
+#ifndef VMS
+               strcat(config_name,"/");
+#endif
                strcat(config_name,OPENSSL_CONF);
                p=config_name;
                }
@@ -225,7 +219,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;
@@ -242,6 +236,13 @@ end:
        EVP_cleanup();
        ERR_free_strings();
 
+#ifdef LEVITTE_DEBUG
+       {
+       /* Just to make sure I get a memory leak I can see :-) */
+       char *p = Malloc(1024);
+       }
+#endif
+
        CRYPTO_mem_leaks(bio_err);
        if (bio_err != NULL)
                {