EVP_CIPHER_CTX_cleanup cannot fail.

There is exactly one implementation and it doesn't fail. Plus a cleanup
function that can fail is very bad manners; the caller has no choice but to
leak at that point.

Change-Id: I5b524617ef37bc7d92273472fa742416ea7dfd43
Reviewed-on: https://boringssl-review.googlesource.com/3564
Reviewed-by: Adam Langley <agl@google.com>
This commit is contained in:
David Benjamin
2015-02-23 19:44:02 +00:00
committed by Adam Langley
parent 86058a256b
commit 3f5917f320
4 changed files with 6 additions and 7 deletions
+2 -2
View File
@@ -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) {
+1 -2
View File
@@ -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 */
+1 -1
View File
@@ -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);
};
+2 -2
View File
@@ -117,8 +117,8 @@ OPENSSL_EXPORT void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx);
* |EVP_CIPHER_CTX_init| and returns it, or NULL on allocation failure. */
OPENSSL_EXPORT EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
/* EVP_CIPHER_CTX_cleanup frees any memory referenced by |ctx|. It returns one
* on success and zero otherwise. */
/* EVP_CIPHER_CTX_cleanup frees any memory referenced by |ctx|. It returns
* one. */
OPENSSL_EXPORT int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *ctx);
/* EVP_CIPHER_CTX_free calls |EVP_CIPHER_CTX_cleanup| on |ctx| and then frees