diff options
author | markus <> | 2002-07-30 11:08:06 +0000 |
---|---|---|
committer | markus <> | 2002-07-30 11:08:06 +0000 |
commit | c54a116b266c232d9e0ffad482eb5f8b98130ac4 (patch) | |
tree | 829382cb1d2140dc2ace3ac2b408324cabadb2f9 /src/lib/libssl/s3_clnt.c | |
parent | cc19216028038523578d8437fd5fe68bada0def0 (diff) | |
download | openbsd-c54a116b266c232d9e0ffad482eb5f8b98130ac4.tar.gz openbsd-c54a116b266c232d9e0ffad482eb5f8b98130ac4.tar.bz2 openbsd-c54a116b266c232d9e0ffad482eb5f8b98130ac4.zip |
apply patches from OpenSSL Security Advisory [30 July 2002],
http://marc.theaimsgroup.com/?l=openssl-dev&m=102802395104110&w=2
Diffstat (limited to 'src/lib/libssl/s3_clnt.c')
-rw-r--r-- | src/lib/libssl/s3_clnt.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/libssl/s3_clnt.c b/src/lib/libssl/s3_clnt.c index e5853ede95..b6be748932 100644 --- a/src/lib/libssl/s3_clnt.c +++ b/src/lib/libssl/s3_clnt.c | |||
@@ -545,6 +545,7 @@ static int ssl3_client_hello(SSL *s) | |||
545 | *(p++)=i; | 545 | *(p++)=i; |
546 | if (i != 0) | 546 | if (i != 0) |
547 | { | 547 | { |
548 | die(i <= sizeof s->session->session_id); | ||
548 | memcpy(p,s->session->session_id,i); | 549 | memcpy(p,s->session->session_id,i); |
549 | p+=i; | 550 | p+=i; |
550 | } | 551 | } |
@@ -626,6 +627,14 @@ static int ssl3_get_server_hello(SSL *s) | |||
626 | /* get the session-id */ | 627 | /* get the session-id */ |
627 | j= *(p++); | 628 | j= *(p++); |
628 | 629 | ||
630 | if(j > sizeof s->session->session_id) | ||
631 | { | ||
632 | al=SSL_AD_ILLEGAL_PARAMETER; | ||
633 | SSLerr(SSL_F_SSL3_GET_SERVER_HELLO, | ||
634 | SSL_R_SSL3_SESSION_ID_TOO_LONG); | ||
635 | goto f_err; | ||
636 | } | ||
637 | |||
629 | if ((j != 0) && (j != SSL3_SESSION_ID_SIZE)) | 638 | if ((j != 0) && (j != SSL3_SESSION_ID_SIZE)) |
630 | { | 639 | { |
631 | /* SSLref returns 16 :-( */ | 640 | /* SSLref returns 16 :-( */ |