diff options
author | Simon L. B. Nielsen <simon@FreeBSD.org> | 2007-03-15 20:03:30 +0000 |
---|---|---|
committer | Simon L. B. Nielsen <simon@FreeBSD.org> | 2007-03-15 20:03:30 +0000 |
commit | 5471f83ea72e251ea1f0d04428878a74347efa0f (patch) | |
tree | e7ef8661c43c3081071230f45d641b5d8a756e55 /crypto/openssl/ssl/s2_enc.c | |
parent | 4d227dd736e57cf75f2278d8117f44dcb3defa61 (diff) |
Notes
Diffstat (limited to 'crypto/openssl/ssl/s2_enc.c')
-rw-r--r-- | crypto/openssl/ssl/s2_enc.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/crypto/openssl/ssl/s2_enc.c b/crypto/openssl/ssl/s2_enc.c index 18882bf70487f..1f62acd5b1e6f 100644 --- a/crypto/openssl/ssl/s2_enc.c +++ b/crypto/openssl/ssl/s2_enc.c @@ -82,15 +82,18 @@ int ssl2_enc_init(SSL *s, int client) ((s->enc_read_ctx=(EVP_CIPHER_CTX *) OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL)) goto err; + + /* make sure it's intialized in case the malloc for enc_write_ctx fails + * and we exit with an error */ + rs= s->enc_read_ctx; + EVP_CIPHER_CTX_init(rs); + if ((s->enc_write_ctx == NULL) && ((s->enc_write_ctx=(EVP_CIPHER_CTX *) OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL)) goto err; - rs= s->enc_read_ctx; ws= s->enc_write_ctx; - - EVP_CIPHER_CTX_init(rs); EVP_CIPHER_CTX_init(ws); num=c->key_len; |