SSL_free(3) | OpenSSL | SSL_free(3)

# NAME

SSL_free - free an allocated SSL structure

# LIBRARY

libcrypto, -lcrypto

# 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(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)

July 20, 2009 | 1.0.1-dev