summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/ssl/s3_enc.c
diff options
context:
space:
mode:
authorsimon <simon@FreeBSD.org>2007-03-15 20:03:30 +0000
committersimon <simon@FreeBSD.org>2007-03-15 20:03:30 +0000
commitee48ceb6a84c702d0f80bc72ce8be558bdcb0de3 (patch)
treee7ef8661c43c3081071230f45d641b5d8a756e55 /crypto/openssl/ssl/s3_enc.c
parent25dab5b4c1779c970f3c644ff3f37f0c4cb5538d (diff)
downloadFreeBSD-src-ee48ceb6a84c702d0f80bc72ce8be558bdcb0de3.zip
FreeBSD-src-ee48ceb6a84c702d0f80bc72ce8be558bdcb0de3.tar.gz
Vendor import of OpenSSL 0.9.8e.
Diffstat (limited to 'crypto/openssl/ssl/s3_enc.c')
-rw-r--r--crypto/openssl/ssl/s3_enc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/crypto/openssl/ssl/s3_enc.c b/crypto/openssl/ssl/s3_enc.c
index 561a984..2859351 100644
--- a/crypto/openssl/ssl/s3_enc.c
+++ b/crypto/openssl/ssl/s3_enc.c
@@ -221,6 +221,9 @@ int ssl3_change_cipher_state(SSL *s, int which)
reuse_dd = 1;
else if ((s->enc_read_ctx=OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL)
goto err;
+ else
+ /* make sure it's intialized in case we exit later with an error */
+ EVP_CIPHER_CTX_init(s->enc_read_ctx);
dd= s->enc_read_ctx;
s->read_hash=m;
#ifndef OPENSSL_NO_COMP
@@ -254,6 +257,9 @@ int ssl3_change_cipher_state(SSL *s, int which)
reuse_dd = 1;
else if ((s->enc_write_ctx=OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL)
goto err;
+ else
+ /* make sure it's intialized in case we exit later with an error */
+ EVP_CIPHER_CTX_init(s->enc_write_ctx);
dd= s->enc_write_ctx;
s->write_hash=m;
#ifndef OPENSSL_NO_COMP
@@ -279,7 +285,6 @@ int ssl3_change_cipher_state(SSL *s, int which)
if (reuse_dd)
EVP_CIPHER_CTX_cleanup(dd);
- EVP_CIPHER_CTX_init(dd);
p=s->s3->tmp.key_block;
i=EVP_MD_size(m);
OpenPOWER on IntegriCloud