summaryrefslogtreecommitdiffstats
path: root/ssl/s2_enc.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2014-11-18 15:03:55 +0000
committerMatt Caswell <matt@openssl.org>2014-11-27 21:53:27 +0000
commit5fc8bb6ab71b5f7ce2dd67a47494bb5b5c6dc374 (patch)
tree8347157afd65b41c4a37316298e4046a785e79ad /ssl/s2_enc.c
parent244d0955adc027c0f41a3251e55d145bf940f9ce (diff)
Check EVP_Cipher return values for SSL2
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'ssl/s2_enc.c')
-rw-r--r--ssl/s2_enc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ssl/s2_enc.c b/ssl/s2_enc.c
index ff3395f459..a83d576605 100644
--- a/ssl/s2_enc.c
+++ b/ssl/s2_enc.c
@@ -117,8 +117,9 @@ err:
/* read/writes from s->s2->mac_data using length for encrypt and
* decrypt. It sets s->s2->padding and s->[rw]length
- * if we are encrypting */
-void ssl2_enc(SSL *s, int send)
+ * if we are encrypting
+ * Returns 0 on error and 1 on success */
+int ssl2_enc(SSL *s, int send)
{
EVP_CIPHER_CTX *ds;
unsigned long l;
@@ -145,7 +146,10 @@ void ssl2_enc(SSL *s, int send)
if (bs == 8)
l=(l+7)/8*8;
- EVP_Cipher(ds,s->s2->mac_data,s->s2->mac_data,l);
+ if(EVP_Cipher(ds,s->s2->mac_data,s->s2->mac_data,l) < 1)
+ return 0;
+
+ return 1;
}
void ssl2_mac(SSL *s, unsigned char *md, int send)