{
KDF_HKDF *ctx = (KDF_HKDF *)vctx;
- kdf_hkdf_reset(ctx);
- OPENSSL_free(ctx);
+ if (ctx != NULL) {
+ kdf_hkdf_reset(ctx);
+ OPENSSL_free(ctx);
+ }
}
static void kdf_hkdf_reset(void *vctx)
{
KBKDF *ctx = (KBKDF *)vctx;
- kbkdf_reset(ctx);
- OPENSSL_free(ctx);
+ if (ctx != NULL) {
+ kbkdf_reset(ctx);
+ OPENSSL_free(ctx);
+ }
}
static void kbkdf_reset(void *vctx)
{
KRB5KDF_CTX *ctx = (KRB5KDF_CTX *)vctx;
- krb5kdf_reset(ctx);
- OPENSSL_free(ctx);
+ if (ctx != NULL) {
+ krb5kdf_reset(ctx);
+ OPENSSL_free(ctx);
+ }
}
static void krb5kdf_reset(void *vctx)
{
KDF_PBKDF2 *ctx = (KDF_PBKDF2 *)vctx;
- kdf_pbkdf2_cleanup(ctx);
- OPENSSL_free(ctx);
+ if (ctx != NULL) {
+ kdf_pbkdf2_cleanup(ctx);
+ OPENSSL_free(ctx);
+ }
}
static void kdf_pbkdf2_reset(void *vctx)
{
KDF_SCRYPT *ctx = (KDF_SCRYPT *)vctx;
- EVP_MD_meth_free(ctx->sha256);
- kdf_scrypt_reset(ctx);
- OPENSSL_free(ctx);
+ if (ctx != NULL) {
+ EVP_MD_meth_free(ctx->sha256);
+ kdf_scrypt_reset(ctx);
+ OPENSSL_free(ctx);
+ }
}
static void kdf_scrypt_reset(void *vctx)
{
KDF_SSHKDF *ctx = (KDF_SSHKDF *)vctx;
- kdf_sshkdf_reset(ctx);
- OPENSSL_free(ctx);
+ if (ctx != NULL) {
+ kdf_sshkdf_reset(ctx);
+ OPENSSL_free(ctx);
+ }
}
static void kdf_sshkdf_reset(void *vctx)
{
KDF_SSKDF *ctx = (KDF_SSKDF *)vctx;
- sskdf_reset(ctx);
- OPENSSL_free(ctx);
+ if (ctx != NULL) {
+ sskdf_reset(ctx);
+ OPENSSL_free(ctx);
+ }
}
static int sskdf_set_buffer(unsigned char **out, size_t *out_len,
{
TLS1_PRF *ctx = (TLS1_PRF *)vctx;
- kdf_tls1_prf_reset(ctx);
- OPENSSL_free(ctx);
+ if (ctx != NULL) {
+ kdf_tls1_prf_reset(ctx);
+ OPENSSL_free(ctx);
+ }
}
static void kdf_tls1_prf_reset(void *vctx)
{
KDF_X942 *ctx = (KDF_X942 *)vctx;
- x942kdf_reset(ctx);
- OPENSSL_free(ctx);
+ if (ctx != NULL) {
+ x942kdf_reset(ctx);
+ OPENSSL_free(ctx);
+ }
}
static int x942kdf_set_buffer(unsigned char **out, size_t *out_len,