-
-
Notifications
You must be signed in to change notification settings - Fork 11.1k
Description
With the default library context, we may end up having some objects cleaned out as part of an automatic OPENSSL_cleanup() (registered with atexit()). However, test/testutil/driver.c calls CRYPTO_mem_leaks_cb() explicitly when OpenSSL is configured with enable-crypto-mdebug, and this happens before the automatic OPENSSL_cleanup(), meaning that anything not yet cleaned out from the default library context gets reported as a memory leak.
This has been a problem that's been waiting to happen for years (I'm actually surprised it's taken all this time). debug-mdebug was developed in a time before cool and fancy tools like valgrind were commonly available. Times are different now, and external tools usually do a better job.
Time to retire debug-mdebug (make it a no-op for the sake of compatibility)