Add missing calls to pem_free in pk_parse
diff --git a/library/pkparse.c b/library/pkparse.c
index ea68a3d..6ab16e5 100644
--- a/library/pkparse.c
+++ b/library/pkparse.c
@@ -1068,7 +1068,10 @@
if( ret == 0 )
{
if( ( pk_info = pk_info_from_type( POLARSSL_PK_RSA ) ) == NULL )
+ {
+ pem_free( &pem );
return( POLARSSL_ERR_PK_UNKNOWN_PK_ALG );
+ }
if( ( ret = pk_init_ctx( pk, pk_info ) ) != 0 ||
( ret = pk_parse_key_pkcs1_der( pk_rsa( *pk ),
@@ -1096,7 +1099,10 @@
if( ret == 0 )
{
if( ( pk_info = pk_info_from_type( POLARSSL_PK_ECKEY ) ) == NULL )
+ {
+ pem_free( &pem );
return( POLARSSL_ERR_PK_UNKNOWN_PK_ALG );
+ }
if( ( ret = pk_init_ctx( pk, pk_info ) ) != 0 ||
( ret = pk_parse_key_sec1_der( pk_ec( *pk ),