OpenSSL_add_all_algorithms() should only be run once per application or it will cause data structures to expand. It's not a classic memory leak as all of the memory will be free(3)d when EVP_cleanup() is called but as we are a library we cannot call this. We provide a short term fix here which is using heim_base_once_f() to ensure that we only call it once. But the long term fix should be to stop using OpenSSL_add_all_algorithms() entirely because it both has side effects outside our library and the caller may destroy our OpenSSL global variables by calling EVP_cleanup() on his own. It is suboptimal to have potential interactions between our library and other code in this way.
83 KiB
83 KiB