Adapt the internal EVP routines to opaque EVP_CIPHER_CTX
authorRichard Levitte <levitte@openssl.org>
Sun, 13 Dec 2015 20:36:33 +0000 (21:36 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 12 Jan 2016 12:52:22 +0000 (13:52 +0100)
Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/evp/evp_enc.c

index 45237545a8a31228648254e88c9bbef5d420507f..4a5945c93b1f034edc839d644c34f93c83eef165 100644 (file)
@@ -104,8 +104,7 @@ void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
 int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
                    const unsigned char *key, const unsigned char *iv, int enc)
 {
-    if (cipher)
-        EVP_CIPHER_CTX_init(ctx);
+    EVP_CIPHER_CTX_reset(ctx);
     return EVP_CipherInit_ex(ctx, cipher, NULL, key, iv, enc);
 }
 
@@ -139,7 +138,7 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
          */
         if (ctx->cipher) {
             unsigned long flags = ctx->flags;
-            EVP_CIPHER_CTX_cleanup(ctx);
+            EVP_CIPHER_CTX_reset(ctx);
             /* Restore encrypt and flags */
             ctx->encrypt = enc;
             ctx->flags = flags;
@@ -605,7 +604,7 @@ int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in)
     }
 #endif
 
-    EVP_CIPHER_CTX_cleanup(out);
+    EVP_CIPHER_CTX_reset(out);
     memcpy(out, in, sizeof(*out));
 
     if (in->cipher_data && in->cipher->ctx_size) {