Index: openssl/crypto/evp/bio_enc.c |
=================================================================== |
--- openssl/crypto/evp/bio_enc.c (revision 105093) |
+++ openssl/crypto/evp/bio_enc.c (working copy) |
@@ -361,8 +361,10 @@ |
case BIO_CTRL_DUP: |
dbio=(BIO *)ptr; |
dctx=(BIO_ENC_CTX *)dbio->ptr; |
- memcpy(&(dctx->cipher),&(ctx->cipher),sizeof(ctx->cipher)); |
- dbio->init=1; |
+ EVP_CIPHER_CTX_init(&dctx->cipher); |
+ ret = EVP_CIPHER_CTX_copy(&dctx->cipher,&ctx->cipher); |
+ if (ret) |
+ dbio->init=1; |
break; |
default: |
ret=BIO_ctrl(b->next_bio,cmd,num,ptr); |