diff --git a/tests/vectors_kem.c b/tests/vectors_kem.c index 128d5e840..6da025554 100644 --- a/tests/vectors_kem.c +++ b/tests/vectors_kem.c @@ -582,7 +582,9 @@ int main(int argc, char **argv) { err: OQS_MEM_insecure_free(prng_output_stream_bytes); OQS_MEM_insecure_free(kg_pk_bytes); - OQS_MEM_insecure_free(kg_sk_bytes); + if (kem != NULL) { + OQS_MEM_secure_free(kg_sk_bytes, kem->length_secret_key); + } OQS_MEM_insecure_free(encdec_aft_c_bytes); OQS_MEM_insecure_free(encdec_aft_k_bytes); @@ -590,7 +592,9 @@ err: OQS_MEM_insecure_free(encdec_val_c_bytes); OQS_MEM_insecure_free(encdec_val_k_bytes); - OQS_MEM_insecure_free(encdec_val_sk_bytes); + if (kem != NULL) { + OQS_MEM_secure_free(encdec_val_sk_bytes, kem->length_secret_key); + } OQS_KEM_free(kem); diff --git a/tests/vectors_sig.c b/tests/vectors_sig.c index 7dc269089..30877560e 100644 --- a/tests/vectors_sig.c +++ b/tests/vectors_sig.c @@ -785,12 +785,16 @@ err: cleanup: OQS_MEM_insecure_free(prng_output_stream_bytes); OQS_MEM_insecure_free(kg_pk_bytes); - OQS_MEM_insecure_free(kg_sk_bytes); + if (sig != NULL) { + OQS_MEM_secure_free(kg_sk_bytes, sig->length_secret_key); + } OQS_MEM_insecure_free(sigVer_pk_bytes); OQS_MEM_insecure_free(sigVer_msg_bytes); OQS_MEM_insecure_free(sigVer_sig_bytes); OQS_MEM_insecure_free(sigVer_ctx_bytes); - OQS_MEM_insecure_free(sigGen_sk_bytes); + if (sig != NULL) { + OQS_MEM_secure_free(sigGen_sk_bytes, sig->length_secret_key); + } OQS_MEM_insecure_free(sigGen_msg_bytes); OQS_MEM_insecure_free(sigGen_sig_bytes); OQS_MEM_insecure_free(sigGen_ctx_bytes);