projects
/
openssl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
081464f
)
Fix ctr mode properly this time....
author
Dr. Stephen Henson
<steve@openssl.org>
Wed, 28 Jul 2010 16:53:28 +0000
(16:53 +0000)
committer
Dr. Stephen Henson
<steve@openssl.org>
Wed, 28 Jul 2010 16:53:28 +0000
(16:53 +0000)
crypto/evp/evp_enc.c
patch
|
blob
|
history
diff --git
a/crypto/evp/evp_enc.c
b/crypto/evp/evp_enc.c
index a35621a2ec9d27fc3db44baf9bb499b8711b0e5e..99e6b200c2a980e2c06809ba7ea08374943de011 100644
(file)
--- a/
crypto/evp/evp_enc.c
+++ b/
crypto/evp/evp_enc.c
@@
-206,14
+206,17
@@
skip_to_init:
ctx->num = 0;
case EVP_CIPH_CBC_MODE:
ctx->num = 0;
case EVP_CIPH_CBC_MODE:
- case EVP_CIPH_CTR_MODE:
OPENSSL_assert(EVP_CIPHER_CTX_iv_length(ctx) <=
(int)sizeof(ctx->iv));
if(iv) memcpy(ctx->oiv, iv, EVP_CIPHER_CTX_iv_length(ctx));
OPENSSL_assert(EVP_CIPHER_CTX_iv_length(ctx) <=
(int)sizeof(ctx->iv));
if(iv) memcpy(ctx->oiv, iv, EVP_CIPHER_CTX_iv_length(ctx));
+ memcpy(ctx->iv, ctx->oiv, EVP_CIPHER_CTX_iv_length(ctx));
+ break;
+
+ case EVP_CIPH_CTR_MODE:
/* Don't reuse IV for CTR mode */
/* Don't reuse IV for CTR mode */
- if
(EVP_CIPHER_CTX_mode(ctx) != EVP_CIPH_CTR_MODE
)
- memcpy(ctx->iv,
ctx->o
iv, EVP_CIPHER_CTX_iv_length(ctx));
+ if
(iv
)
+ memcpy(ctx->iv, iv, EVP_CIPHER_CTX_iv_length(ctx));
break;
default:
break;
default: