Added some text to the last paragraph:
When using i2d_SSL_SESSION(), the memory location pointed to by pp must
be large enough to hold the binary representation of the session. There
is no known limit on the size of the created ASN1 representation, so
the necessary amount of space should be obtained by first calling
i2d_SSL_SESSION() with pp=NULL, and obtain the size needed, then
allocate the memory and call i2d_SSL_SESSION() again. Note that this
will advance the value contained in *pp so it is necessary to save a
copy of the original allocation. For example:
int i,j;
char *p, *temp;
i = i2d_SSL_SESSION(sess, NULL);
p = temp = malloc(i);
j = i2d_SSL_SESSION(sess, &temp);
assert(i == j);
assert(p+i == temp);

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to