From 7db3124c00afe5162c595c1e73eeec21438c1a23 Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Fri, 1 Jul 2022 13:22:45 -0400 Subject: [PATCH] Skip asn1 zeroize if freeing shallow pointers This skips zeroizing additional pointers to data. (Note: actual sensitive data should still be zeroized when freed.) Signed-off-by: Glenn Strauss --- library/asn1parse.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/library/asn1parse.c b/library/asn1parse.c index 12a378cf31..4bc17710c0 100644 --- a/library/asn1parse.c +++ b/library/asn1parse.c @@ -314,7 +314,6 @@ void mbedtls_asn1_sequence_free( mbedtls_asn1_sequence *seq ) while( seq != NULL ) { mbedtls_asn1_sequence *next = seq->next; - mbedtls_platform_zeroize( seq, sizeof( *seq ) ); mbedtls_free( seq ); seq = next; } @@ -450,7 +449,8 @@ void mbedtls_asn1_free_named_data_list( mbedtls_asn1_named_data **head ) while( ( cur = *head ) != NULL ) { *head = cur->next; - mbedtls_asn1_free_named_data( cur ); + mbedtls_free( cur->oid.p ); + mbedtls_free( cur->val.p ); mbedtls_free( cur ); } } @@ -460,7 +460,6 @@ void mbedtls_asn1_free_named_data_list_shallow( mbedtls_asn1_named_data *name ) for( mbedtls_asn1_named_data *next; name != NULL; name = next ) { next = name->next; - mbedtls_platform_zeroize( name, sizeof( *name ) ); mbedtls_free( name ); } }