diff --git a/tests/test_kem.c b/tests/test_kem.c index 492f47c5fa..cefcf7ee4f 100644 --- a/tests/test_kem.c +++ b/tests/test_kem.c @@ -162,13 +162,21 @@ static OQS_STATUS kem_test_correctness(const char *method_name) { ret = OQS_ERROR; cleanup: - if (kem != NULL) { + if (secret_key) { OQS_MEM_secure_free(secret_key - sizeof(magic_t), kem->length_secret_key + 2 * sizeof(magic_t)); + } + if (shared_secret_e) { OQS_MEM_secure_free(shared_secret_e - sizeof(magic_t), kem->length_shared_secret + 2 * sizeof(magic_t)); + } + if (shared_secret_d) { OQS_MEM_secure_free(shared_secret_d - sizeof(magic_t), kem->length_shared_secret + 2 * sizeof(magic_t)); } - OQS_MEM_insecure_free(public_key - sizeof(magic_t)); - OQS_MEM_insecure_free(ciphertext - sizeof(magic_t)); + if (public_key) { + OQS_MEM_insecure_free(public_key - sizeof(magic_t)); + } + if (ciphertext) { + OQS_MEM_insecure_free(ciphertext - sizeof(magic_t)); + } OQS_KEM_free(kem); return ret; diff --git a/tests/test_sig.c b/tests/test_sig.c index 980987d63b..8e23a939fd 100644 --- a/tests/test_sig.c +++ b/tests/test_sig.c @@ -142,12 +142,18 @@ static OQS_STATUS sig_test_correctness(const char *method_name) { ret = OQS_ERROR; cleanup: - if (sig != NULL) { + if (secret_key) { OQS_MEM_secure_free(secret_key - sizeof(magic_t), sig->length_secret_key + 2 * sizeof(magic_t)); } - OQS_MEM_insecure_free(public_key - sizeof(magic_t)); - OQS_MEM_insecure_free(message - sizeof(magic_t)); - OQS_MEM_insecure_free(signature - sizeof(magic_t)); + if (public_key) { + OQS_MEM_insecure_free(public_key - sizeof(magic_t)); + } + if (message) { + OQS_MEM_insecure_free(message - sizeof(magic_t)); + } + if (signature) { + OQS_MEM_insecure_free(signature - sizeof(magic_t)); + } OQS_SIG_free(sig); return ret;