diff --git a/library/ssl_srv.c b/library/ssl_srv.c index 8ac7dd49b..9aef69a0f 100644 --- a/library/ssl_srv.c +++ b/library/ssl_srv.c @@ -2955,7 +2955,7 @@ static int ssl_write_certificate_request( mbedtls_ssl_context *ssl ) #endif crt = ssl->conf->ca_chain; - while( crt != NULL && crt->version != 0 ) + while( crt != NULL && crt->raw.p != NULL ) { dn_size = crt->subject_raw.len; diff --git a/library/x509_crt.c b/library/x509_crt.c index 63823d300..060c0158b 100644 --- a/library/x509_crt.c +++ b/library/x509_crt.c @@ -1321,7 +1321,7 @@ static int mbedtls_x509_crt_parse_der_internal( mbedtls_x509_crt *chain, if( crt == NULL || buf == NULL ) return( MBEDTLS_ERR_X509_BAD_INPUT_DATA ); - while( crt->version != 0 && crt->next != NULL ) + while( crt->raw.p != NULL && crt->next != NULL ) { prev = crt; crt = crt->next; @@ -1330,7 +1330,7 @@ static int mbedtls_x509_crt_parse_der_internal( mbedtls_x509_crt *chain, /* * Add new certificate on the end of the chain if needed. */ - if( crt->version != 0 && crt->next == NULL ) + if( crt->raw.p != NULL && crt->next == NULL ) { crt->next = mbedtls_calloc( 1, sizeof( mbedtls_x509_crt ) );