diff --git a/src/common/crypto/shamir_secret_sharing/verifiable_secret_sharing.c b/src/common/crypto/shamir_secret_sharing/verifiable_secret_sharing.c index e2f131d..26846b5 100644 --- a/src/common/crypto/shamir_secret_sharing/verifiable_secret_sharing.c +++ b/src/common/crypto/shamir_secret_sharing/verifiable_secret_sharing.c @@ -601,8 +601,11 @@ void verifiable_secret_sharing_free_shares(verifiable_secret_sharing_t *shares) if (shares) { free(shares->ids); - OPENSSL_cleanse(shares->shares, shares->num_shares * sizeof(shamir_secret_sharing_scalar_t)); - free(shares->shares); + if (shares->shares) + { + OPENSSL_cleanse(shares->shares, shares->num_shares * sizeof(shamir_secret_sharing_scalar_t)); + free(shares->shares); + } free(shares->proofs); free(shares->coefficient_proofs); free(shares);