SSL_free.3ssl man page

SSL_free ā€” free an allocated SSL structure


 #include <openssl/ssl.h>

 void SSL_free(SSL *ssl);


SSL_free() decrements the reference count of ssl, and removes the SSL structure pointed to by ssl and frees up the allocated memory if the reference count has reached 0.


SSL_free() also calls the free()ing procedures for indirectly affected items, if applicable: the buffering BIO, the read and write BIOs, cipher lists specially created for this ssl, the SSL_SESSION. Do not explicitly free these indirectly freed up items before or after calling SSL_free(), as trying to free things twice may lead to program failure.

The ssl session has reference counts from two users: the SSL object, for which the reference count is removed by SSL_free() and the internal session cache. If the session is considered bad, because SSL_shutdown(3) was not called for the connection and SSL_set_shutdown(3) was not used to set the SSL_SENT_SHUTDOWN state, the session will also be removed from the session cache as required by RFC2246.

Return Values

SSL_free() does not provide diagnostic information.

SSL_new(3), SSL_clear(3), SSL_shutdown(3), SSL_set_shutdown(3), ssl(3)

Referenced By

SSL_clear.3ssl(3), SSL_CTX_set_cert_cb.3ssl(3), SSL_CTX_set_client_cert_cb.3ssl(3), SSL_CTX_set_quiet_shutdown.3ssl(3), SSL_get_session.3ssl(3), SSL_new.3ssl(3), SSL_set_shutdown.3ssl(3), SSL_shutdown.3ssl(3).

2018-03-27 1.0.2o OpenSSL