diff options
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/cipher/cipher.c | 4 | ||||
-rw-r--r-- | crypto/cipher/e_aes.c | 3 | ||||
-rw-r--r-- | crypto/cipher/internal.h | 2 |
3 files changed, 4 insertions, 5 deletions
diff --git a/crypto/cipher/cipher.c b/crypto/cipher/cipher.c index 4bb41960..4dccd974 100644 --- a/crypto/cipher/cipher.c +++ b/crypto/cipher/cipher.c @@ -94,8 +94,8 @@ EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void) { } int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *c) { - if (c->cipher != NULL && c->cipher->cleanup && !c->cipher->cleanup(c)) { - return 0; + if (c->cipher != NULL && c->cipher->cleanup) { + c->cipher->cleanup(c); } if (c->cipher_data) { diff --git a/crypto/cipher/e_aes.c b/crypto/cipher/e_aes.c index e012c3dc..01c2d7da 100644 --- a/crypto/cipher/e_aes.c +++ b/crypto/cipher/e_aes.c @@ -445,13 +445,12 @@ static int aes_gcm_init_key(EVP_CIPHER_CTX *ctx, const uint8_t *key, return 1; } -static int aes_gcm_cleanup(EVP_CIPHER_CTX *c) { +static void aes_gcm_cleanup(EVP_CIPHER_CTX *c) { EVP_AES_GCM_CTX *gctx = c->cipher_data; OPENSSL_cleanse(&gctx->gcm, sizeof(gctx->gcm)); if (gctx->iv != c->iv) { OPENSSL_free(gctx->iv); } - return 1; } /* increment counter (64-bit int) by 1 */ diff --git a/crypto/cipher/internal.h b/crypto/cipher/internal.h index 2b8fb050..f28fd4c2 100644 --- a/crypto/cipher/internal.h +++ b/crypto/cipher/internal.h @@ -97,7 +97,7 @@ struct evp_cipher_st { int (*cipher)(EVP_CIPHER_CTX *ctx, uint8_t *out, const uint8_t *in, size_t inl); - int (*cleanup)(EVP_CIPHER_CTX *); + void (*cleanup)(EVP_CIPHER_CTX *); int (*ctrl)(EVP_CIPHER_CTX *, int type, int arg, void *ptr); }; |