mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-01-23 21:21:10 +00:00
x509parse_crt() now better handles PEM error situations
Because of new pem_read_buffer() handling of when it writes use_len,
x509parse_crt() is able to better handle situations where a PEM blob
results in an error but the other blobs can still be parsed.
(cherry picked from commit 6417186365
)
This commit is contained in:
parent
00b2860e8d
commit
5ed3b34e22
|
@ -1430,10 +1430,20 @@ int x509parse_crt( x509_cert *chain, const unsigned char *buf, size_t buflen )
|
||||||
buflen -= use_len;
|
buflen -= use_len;
|
||||||
buf += use_len;
|
buf += use_len;
|
||||||
}
|
}
|
||||||
|
else if( ret == POLARSSL_ERR_PEM_BAD_INPUT_DATA )
|
||||||
|
{
|
||||||
|
return( ret );
|
||||||
|
}
|
||||||
else if( ret != POLARSSL_ERR_PEM_NO_HEADER_FOOTER_PRESENT )
|
else if( ret != POLARSSL_ERR_PEM_NO_HEADER_FOOTER_PRESENT )
|
||||||
{
|
{
|
||||||
pem_free( &pem );
|
pem_free( &pem );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PEM header and footer were found
|
||||||
|
*/
|
||||||
|
buflen -= use_len;
|
||||||
|
buf += use_len;
|
||||||
|
|
||||||
if( first_error == 0 )
|
if( first_error == 0 )
|
||||||
first_error = ret;
|
first_error = ret;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue