Thanks for the response! :) Nope, they're in there, in shutdown():
ERR_free_strings(); for_each(_threadIdCache.begin(), _threadIdCache.end(), ERR_remove_state); We actually maintain a cache of all threads that access the plugin and remove the error state for them. Unless we have to do an ERR_remove_state(0) as well? -Anthony Fred Crable wrote: > You are missing calls to: > > ERR_free_strings(); > ERR_remove_state(0); > > -----Original Message----- > From: Anthony Neal [mailto:[EMAIL PROTECTED] > Sent: Friday, December 12, 2003 9:32 AM > To: [EMAIL PROTECTED] > Subject: OpenSSL 0.9.7a - Small (585 byte) memory leak > > Hi there, > > One of our projects uses an OpenSSL based plug-in which, according to > the OpenSSL memory debug logs, is leaking about 585 bytes. The log is > as follows: > > [10:57:19] 1856 file=err.c, line=949, thread=16384, number=332, > address=08087550 > [10:57:19] 1859 file=lhash.c, line=193, thread=16384, number=12, > address=08087C78 > [10:57:19] 10692 file=err.c, line=1003, thread=16384, number=81, > address=08119160 > [10:57:19] 1857 file=lhash.c, line=119, thread=16384, number=96, > address=08087C88 > > thread=16384, file=err.c, line=415, info="int_thread_get (err.c)" > [10:57:19] 1858 file=lhash.c, line=121, thread=16384, number=64, > address=08087768 > > thread=16384, file=err.c, line=415, info="int_thread_get (err.c)" > 585 bytes leaked in 5 chunks > > The plugin starts up as follows: > > void init() > { > if(_memDebug != 0) > { > CRYPTO_malloc_debug_init(); > CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL); > CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); > } > else > { > CRYPTO_set_mem_debug_functions(0, 0, 0, 0, 0); > } > > SSL_library_init(); > SSL_load_error_strings(); > OpenSSL_add_ssl_algorithms(); > } > > and shuts down as follows: > > void shutdown() > { > ENGINE_cleanup(); > CRYPTO_cleanup_all_ex_data(); > > ERR_free_strings(); > for_each(_threadIdCache.begin(), _threadIdCache.end(), > ERR_remove_state); > > EVP_cleanup(); > > if(_memDebug != 0) > { > CRYPTO_mem_leaks_fp(stderr); > } > } > > Does anyone see anything glaring that could be causing this leak? I > know some of you are much better at interpretting as to what these leaks > could be attributed. Any help would be greatly appreciated. > > Interestingly, the memory debug messages come to about 579 bytes - could > this lead be the memory used to report this error? > > -Anthony > > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List [EMAIL PROTECTED] > Automated List Manager [EMAIL PROTECTED] > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List [EMAIL PROTECTED] > Automated List Manager [EMAIL PROTECTED] ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]