The docs don't state if the application should (or should not) free
the X509* presented to SSL_CTX_add_extra_chain_cert.

The question recently came up on stack overflow:
http://stackoverflow.com/questions/24263913/does-correct-freeing-of-x509-structures-differ-between-chain-and-main-certificat.

*****

diff --git a/doc/ssl/SSL_CTX_add_extra_chain_cert.pod
b/doc/ssl/SSL_CTX_add_extra_chain_cert.pod
index 11b3b4b..8e832a5 100644
--- a/doc/ssl/SSL_CTX_add_extra_chain_cert.pod
+++ b/doc/ssl/SSL_CTX_add_extra_chain_cert.pod
@@ -24,6 +24,8 @@ the library will try to complete the chain from the
available CA
 certificates in the trusted CA storage, see
 L<SSL_CTX_load_verify_locations(3)|SSL_CTX_load_verify_locations(3)>.

+The B<x509> certificate provided to SSL_CTX_add_extra_chain_cert()
will be freed by the library when the B<SSL_CTX> is destroyed. An
application B<should not> free the B<x509> object.
+
 =head1 RESTRICTIONS

 Only one set of extra chain certificates can be specified per SSL_CTX

diff --git a/doc/ssl/SSL_CTX_add_extra_chain_cert.pod 
b/doc/ssl/SSL_CTX_add_extra_chain_cert.pod
index 11b3b4b..8e832a5 100644
--- a/doc/ssl/SSL_CTX_add_extra_chain_cert.pod
+++ b/doc/ssl/SSL_CTX_add_extra_chain_cert.pod
@@ -24,6 +24,8 @@ the library will try to complete the chain from the available 
CA
 certificates in the trusted CA storage, see
 L<SSL_CTX_load_verify_locations(3)|SSL_CTX_load_verify_locations(3)>.
 
+The B<x509> certificate provided to SSL_CTX_add_extra_chain_cert() will be 
freed by the library when the B<SSL_CTX> is destroyed. An application B<should 
not> free the B<x509> object.
+
 =head1 RESTRICTIONS
 
 Only one set of extra chain certificates can be specified per SSL_CTX

Reply via email to