Skip to content

Commit

Permalink
only cleanup ctx if we need to, save ctx flags when we do
Browse files Browse the repository at this point in the history
  • Loading branch information
snhenson committed Feb 10, 2012
1 parent c944a96 commit 8705846
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions crypto/evp/evp_enc.c
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,14 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *imp
/* Ensure a context left lying around from last time is cleared
* (the previous check attempted to avoid this if the same
* ENGINE and EVP_CIPHER could be used). */
EVP_CIPHER_CTX_cleanup(ctx);

/* Restore encrypt field: it is zeroed by cleanup */
ctx->encrypt = enc;
if (ctx->cipher)
{
unsigned long flags = ctx->flags;
EVP_CIPHER_CTX_cleanup(ctx);
/* Restore encrypt and flags */
ctx->encrypt = enc;
ctx->flags = flags;
}
#ifndef OPENSSL_NO_ENGINE
if(impl)
{
Expand Down

0 comments on commit 8705846

Please sign in to comment.