- NAME
- SYNOPSIS
- DESCRIPTION
- NOTES
- RETURN VALUES

# NAME

SSL_free - free an allocated SSL structure

# SYNOPSIS

     #include <openssl/ssl.h>

     void SSL_free(SSL *ssl);

# DESCRIPTION

`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.

# NOTES

`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 was not called for the connection and SSL_set_shutdown 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, SSL_clear, SSL_shutdown, SSL_set_shutdown, ssl