@@ -641,6 +641,7 @@ static void psa_asymmetric_operation(void)
641
641
642
642
psa_write (msg .handle , 1 ,
643
643
& signature_length , sizeof (signature_length ));
644
+ mbedtls_free (hash );
644
645
mbedtls_free (signature );
645
646
break ;
646
647
}
@@ -663,6 +664,7 @@ static void psa_asymmetric_operation(void)
663
664
hash = mbedtls_calloc (1 , msg .in_size [2 ]);
664
665
if (hash == NULL ) {
665
666
status = PSA_ERROR_INSUFFICIENT_MEMORY ;
667
+ mbedtls_free (signature );
666
668
break ;
667
669
}
668
670
@@ -1200,20 +1202,19 @@ static void psa_key_management_operation(void)
1200
1202
}
1201
1203
1202
1204
case PSA_GET_KEY_INFORMATION : {
1203
- psa_key_type_t type ;
1204
- size_t bits ;
1205
+ psa_key_type_t type = 0 ;
1206
+ size_t bits = 0 ;
1205
1207
1206
- if (!psa_crypto_access_control_is_handle_permitted (psa_key_mng .handle ,
1207
- partition_id )) {
1208
+ if (psa_crypto_access_control_is_handle_permitted (psa_key_mng .handle ,
1209
+ partition_id )) {
1210
+ status = psa_get_key_information (psa_key_mng .handle , & type , & bits );
1211
+ } else {
1208
1212
status = PSA_ERROR_INVALID_HANDLE ;
1209
- break ;
1210
1213
}
1211
1214
1212
- status = psa_get_key_information (psa_key_mng .handle ,
1213
- & type , & bits );
1214
- if (msg .out_size [0 ] >= sizeof (psa_key_type_t ))
1215
- psa_write (msg .handle , 0 ,
1216
- & type , sizeof (psa_key_type_t ));
1215
+ if (msg .out_size [0 ] >= sizeof (psa_key_type_t )) {
1216
+ psa_write (msg .handle , 0 , & type , sizeof (psa_key_type_t ));
1217
+ }
1217
1218
if (msg .out_size [1 ] >= sizeof (size_t )) {
1218
1219
psa_write (msg .handle , 1 , & bits , sizeof (size_t ));
1219
1220
}
@@ -1637,6 +1638,8 @@ void psa_crypto_generator_operations(void)
1637
1638
label ,
1638
1639
msg .in_size [2 ],//label length
1639
1640
psa_crypto_ipc .capacity );
1641
+ mbedtls_free (label );
1642
+ mbedtls_free (salt );
1640
1643
1641
1644
break ;
1642
1645
}
@@ -1666,7 +1669,7 @@ void psa_crypto_generator_operations(void)
1666
1669
private_key ,
1667
1670
msg .in_size [1 ],//private_key length
1668
1671
psa_crypto_ipc .alg );
1669
-
1672
+ mbedtls_free ( private_key );
1670
1673
break ;
1671
1674
}
1672
1675
0 commit comments