mirror of https://github.com/openssl/openssl.git
				
				
				
			only cleanup ctx if we need to, save ctx flags when we do
This commit is contained in:
		
							parent
							
								
									7951c2699f
								
							
						
					
					
						commit
						f94cfe6a12
					
				|  | @ -115,10 +115,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) | ||||
| 			{ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue