Skip to content

Commit

Permalink
tls: explicit libssl v1.1+ cleanup when module is destroyed
Browse files Browse the repository at this point in the history
- OPENSSL_cleanup() explicitely executed for libssl v1.1+ when tls
  module is destroyed, to avoid being executed again on final exit
  (due to atexit() callback), because at that moment shared memory
  is already destroyed and attempts to access the locals will result
  in cored dump
- retported by Victor Seva, GH #1189
  • Loading branch information
miconda committed Aug 2, 2017
1 parent 62f573d commit 00eb71d
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/modules/tls/tls_init.c
Expand Up @@ -847,4 +847,10 @@ void destroy_tls_h(void)
tls_destroy_cfg();
tls_destroy_locks();
tls_ct_wq_destroy();
#if OPENSSL_VERSION_NUMBER >= 0x010100000L
/* explicit execution of libssl cleanup to avoid being executed again
* by atexit(), when shm is gone */
DBG("executing openssl v1.1+ cleanup\n");
OPENSSL_cleanup();
#endif
}

0 comments on commit 00eb71d

Please sign in to comment.