]> git.feebdaed.xyz Git - 0xmirror/liboqs.git/commitdiff
tests: Use secure free for secret key objects (#2149)
authorSadiq Hussain M <sadiq1194@gmail.com>
Thu, 5 Jun 2025 13:00:20 +0000 (18:30 +0530)
committerGitHub <noreply@github.com>
Thu, 5 Jun 2025 13:00:20 +0000 (09:00 -0400)
Use OQS_MEM_secure_free() instead of
OQS_MEM_insecure_free() for secret key objects.

Signed-off-by: Hussain1811 <Sadiq.Hussain.M@ibm.com>
Co-authored-by: Hussain1811 <Sadiq.Hussain.M@ibm.com>
tests/vectors_kem.c
tests/vectors_sig.c

index 128d5e840d9310127a055f0970e66d959f12a408..6da02555412a7fe15dc4da01795f1165d7d9948f 100644 (file)
@@ -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);
 
index 7dc269089dc38f9b333c60ec014e643c2926058d..30877560e271f650463f4528cee389b6413ed5fd 100644 (file)
@@ -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);