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]