- Fixed bug resulting in failure to send the last certificate in the chain in ssl_write_certificate() and ssl_write_certificate_request()
diff --git a/library/debug.c b/library/debug.c
index c263e49..843b9f5 100644
--- a/library/debug.c
+++ b/library/debug.c
@@ -182,7 +182,7 @@
prefix[maxlen] = '\0';
maxlen = sizeof( str ) - 1;
- while( crt != NULL && crt->next != NULL )
+ while( crt != NULL && crt->version != 0 )
{
char buf[1024];
x509parse_cert_info( buf, sizeof( buf ) - 1, prefix, crt );
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index 157a909..57fe82d 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -485,7 +485,7 @@
p += 2;
crt = ssl->ca_chain;
- while( crt != NULL && crt->next != NULL )
+ while( crt != NULL && crt->version != 0 )
{
if( p - buf > 4096 )
break;
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 17279ee..edd1b8e 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -1160,7 +1160,7 @@
i = 7;
crt = ssl->own_cert;
- while( crt != NULL && crt->next != NULL )
+ while( crt != NULL && crt->version != 0 )
{
n = crt->raw.len;
if( i + 3 + n > SSL_MAX_CONTENT_LEN )