Add pem_free() to other error paths in pk_parse_public_key()
Signed-off-by: Paul Elliott <paul.elliott@arm.com>
diff --git a/library/pkparse.c b/library/pkparse.c
index bb5824f..11afd0b 100644
--- a/library/pkparse.c
+++ b/library/pkparse.c
@@ -1453,10 +1453,14 @@
if( ret == 0 )
{
p = pem.buf;
- if( ( pk_info = mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == NULL )
+ if( ( pk_info = mbedtls_pk_info_from_type( MBEDTLS_PK_RSA )) == NULL )
+ {
+ mbedtls_pem_free( &pem );
return( MBEDTLS_ERR_PK_UNKNOWN_PK_ALG );
+ }
- if( ( ret = mbedtls_pk_setup( ctx, pk_info ) ) != 0 ) {
+ if( ( ret = mbedtls_pk_setup( ctx, pk_info ) ) != 0 )
+ {
mbedtls_pem_free( &pem );
return( ret );
}