/*
- * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the OpenSSL license (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
CRYPTO_THREAD_get_local(&threadstopkey);
if (local == NULL && alloc) {
- local = OPENSSL_zalloc(sizeof *local);
+ local = OPENSSL_zalloc(sizeof(*local));
if (local != NULL && !CRYPTO_THREAD_set_local(&threadstopkey, local)) {
OPENSSL_free(local);
return NULL;
stop_handlers = NULL;
CRYPTO_THREAD_lock_free(init_lock);
+ init_lock = NULL;
/*
* We assume we are single-threaded for this function, i.e. no race
* obj_cleanup_int() must be called last
*/
rand_cleanup_int();
- rand_cleanup_drbg_int();
+ rand_drbg_cleanup_int();
conf_modules_free_int();
#ifndef OPENSSL_NO_ENGINE
engine_cleanup_int();
obj_cleanup_int();
err_cleanup();
+ CRYPTO_secure_malloc_done();
+
base_inited = 0;
}