Fix minor errors in the afalg test
[openssl.git] / test / enginetest.c
index ab7c0c00dd8432765b8a92d1f5ef1e798950f75a..873b4eaaad4280a3ece87011c98a43532b7e843a 100644 (file)
@@ -1,4 +1,3 @@
-/* crypto/engine/enginetest.c */
 /*
  * Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL project
  * 2000.
@@ -98,7 +97,7 @@ int main(int argc, char *argv[])
 {
     ENGINE *block[512];
     char buf[256];
-    const char *id, *name;
+    const char *id, *name, *p;
     ENGINE *ptr;
     int loop;
     int to_return = 1;
@@ -107,19 +106,11 @@ int main(int argc, char *argv[])
     ENGINE *new_h3 = NULL;
     ENGINE *new_h4 = NULL;
 
-    /* enable memory leak checking unless explicitly disabled */
-    if (!((getenv("OPENSSL_DEBUG_MEMORY") != NULL)
-          && (0 == strcmp(getenv("OPENSSL_DEBUG_MEMORY"), "off")))) {
-        CRYPTO_malloc_debug_init();
-        CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL);
-    } else {
-        /* OPENSSL_DEBUG_MEMORY=off */
-        CRYPTO_set_mem_debug_functions(0, 0, 0, 0, 0);
-    }
-    CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
-    ERR_load_crypto_strings();
+    p = getenv("OPENSSL_DEBUG_MEMORY");
+    if (p != NULL && strcmp(p, "on") == 0)
+        CRYPTO_set_mem_debug(1);
 
-    memset(block, 0, 512 * sizeof(ENGINE *));
+    memset(block, 0, sizeof(block));
     if (((new_h1 = ENGINE_new()) == NULL) ||
         !ENGINE_set_id(new_h1, "test_id0") ||
         !ENGINE_set_name(new_h1, "First test item") ||
@@ -147,8 +138,7 @@ int main(int argc, char *argv[])
         printf("Remove failed!\n");
         goto end;
     }
-    if (ptr)
-        ENGINE_free(ptr);
+    ENGINE_free(ptr);
     display_engine_list();
     if (!ENGINE_add(new_h3) || !ENGINE_add(new_h2)) {
         printf("Add failed!\n");
@@ -196,8 +186,7 @@ int main(int argc, char *argv[])
         if (!ENGINE_remove(ptr))
             printf("Remove failed!i - probably no hardware "
                    "support present.\n");
-    if (ptr)
-        ENGINE_free(ptr);
+    ENGINE_free(ptr);
     display_engine_list();
     if (!ENGINE_add(new_h1) || !ENGINE_remove(new_h1)) {
         printf("Couldn't add and remove to an empty list!\n");
@@ -207,9 +196,9 @@ int main(int argc, char *argv[])
     printf("About to beef up the engine-type list\n");
     for (loop = 0; loop < 512; loop++) {
         sprintf(buf, "id%i", loop);
-        id = BUF_strdup(buf);
+        id = OPENSSL_strdup(buf);
         sprintf(buf, "Fake engine type %i", loop);
-        name = BUF_strdup(buf);
+        name = OPENSSL_strdup(buf);
         if (((block[loop] = ENGINE_new()) == NULL) ||
             !ENGINE_set_id(block[loop], id) ||
             !ENGINE_set_name(block[loop], name)) {
@@ -248,22 +237,17 @@ int main(int argc, char *argv[])
  end:
     if (to_return)
         ERR_print_errors_fp(stderr);
-    if (new_h1)
-        ENGINE_free(new_h1);
-    if (new_h2)
-        ENGINE_free(new_h2);
-    if (new_h3)
-        ENGINE_free(new_h3);
-    if (new_h4)
-        ENGINE_free(new_h4);
+    ENGINE_free(new_h1);
+    ENGINE_free(new_h2);
+    ENGINE_free(new_h3);
+    ENGINE_free(new_h4);
     for (loop = 0; loop < 512; loop++)
-        if (block[loop])
-            ENGINE_free(block[loop]);
-    ENGINE_cleanup();
-    CRYPTO_cleanup_all_ex_data();
-    ERR_free_strings();
-    ERR_remove_thread_state(NULL);
-    CRYPTO_mem_leaks_fp(stderr);
+        ENGINE_free(block[loop]);
+
+#ifndef OPENSSL_NO_CRYPTO_MDEBUG
+    if (CRYPTO_mem_leaks_fp(stderr) <= 0)
+        to_return = 1;
+#endif
     return to_return;
 }
 #endif