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