Thank you for that hint. I will try to rebuild the class as singleton. This could help, but isn't really nice.
Best regards Frank > Wockenfuß wrote: > > Hi all, > > > > I have written a class in C++ to easily access functions > from OpenSSL from our products. > > In the constructor of my class I do the following lines of code: > > > > threadSetup(); > > > > OpenSSL_add_all_digests(); > > OpenSSL_add_all_ciphers(); > > OpenSSL_add_all_algorithms(); > > > > ERR_load_PKCS7_strings(); > > ERR_load_X509_strings(); > > ERR_load_crypto_strings(); > > ERR_load_ERR_strings(); > > > > RAND_seed( rnd_seed, sizeof(rnd_seed) ); > > > > ENGINE_load_builtin_engines(); > > > > In the destructor I do the following: > > > > ENGINE_cleanup(); > > RAND_cleanup(); > > CRYPTO_cleanup_all_ex_data(); > > ERR_free_strings(); > > threadCleanUp(); > > > > This leads to a memory leak, because of the > > OpenSSL_add_all_...-functions in the constructor. In the > online manual > > I've read that I need to call > > > > EVP_cleanup(); > > > > in the destructor too. So if I do this all memory leaks are > gone, but > > the function > > > > X509_verify_cert() > > > > fails with the error 'certificate signature failure '. > > If I remove the EVP_cleanup() from the destructor the > function works as fine as it should work. > > > > Could please anyone give me a hint what could be wrong? > > The destructor is called at least once before the > constructor is called again and X509_verify_cert is called. > > > > Ideally these steps should be done once per program > life-time; constructor steps at start-up, destructor steps at > program exit (say in an environment where the OS doesn't > clean up the program's memory). > > Doing it per-object creation is unnecessary and error prone > (as maybe the case here). I believe it should be possible to > do it once per program lifetime without changing your C++ > class too much. > > -jb > -- > Real computer scientists don't comment their code. The > identifiers are so long they can't afford the disk space. > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List openssl-users@openssl.org > Automated List Manager [EMAIL PROTECTED] > ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]