summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s3_both.c
diff options
context:
space:
mode:
authorjca <>2014-02-27 21:04:57 +0000
committerjca <>2014-02-27 21:04:57 +0000
commit3b6d92e82b1421b811bcdec7f7fdfb31eeef18de (patch)
tree40e788c732b30794928787a09a2b41e34c4772bb /src/lib/libssl/s3_both.c
parent76214748f84ef8bbc3833462e40ef29a1e84a02c (diff)
downloadopenbsd-3b6d92e82b1421b811bcdec7f7fdfb31eeef18de.tar.gz
openbsd-3b6d92e82b1421b811bcdec7f7fdfb31eeef18de.tar.bz2
openbsd-3b6d92e82b1421b811bcdec7f7fdfb31eeef18de.zip
SECURITY fixes backported from openssl-1.0.1f. ok mikeb@
CVE-2013-4353 NULL pointer dereference with crafted Next Protocol Negotiation record in TLS handshake. Upstream: 197e0ea CVE-2013-6449 Fix crash with crafted traffic from a TLS 1.2 client. Upstream: ca98926, 0294b2b CVE-2013-6450 Fix DTLS retransmission from previous session. Upstream: 3462896
Diffstat (limited to '')
-rw-r--r--src/lib/libssl/s3_both.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/libssl/s3_both.c b/src/lib/libssl/s3_both.c
index 6981852b5b..ed0fcfc532 100644
--- a/src/lib/libssl/s3_both.c
+++ b/src/lib/libssl/s3_both.c
@@ -161,6 +161,8 @@ int ssl3_send_finished(SSL *s, int a, int b, const char *sender, int slen)
161 161
162 i=s->method->ssl3_enc->final_finish_mac(s, 162 i=s->method->ssl3_enc->final_finish_mac(s,
163 sender,slen,s->s3->tmp.finish_md); 163 sender,slen,s->s3->tmp.finish_md);
164 if (i == 0)
165 return 0;
164 s->s3->tmp.finish_md_len = i; 166 s->s3->tmp.finish_md_len = i;
165 memcpy(p, s->s3->tmp.finish_md, i); 167 memcpy(p, s->s3->tmp.finish_md, i);
166 p+=i; 168 p+=i;
@@ -208,6 +210,11 @@ static void ssl3_take_mac(SSL *s) {
208 const char *sender; 210 const char *sender;
209 int slen; 211 int slen;
210 212
213 /* If no new cipher setup return immediately: other functions will
214 * set the appropriate error.
215 */
216 if (s->s3->tmp.new_cipher == NULL)
217 return;
211 if (s->state & SSL_ST_CONNECT) 218 if (s->state & SSL_ST_CONNECT)
212 { 219 {
213 sender=s->method->ssl3_enc->server_finished_label; 220 sender=s->method->ssl3_enc->server_finished_label;