summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorNils Larsch <nils@openssl.org>2006-02-08 19:16:33 +0000
committerNils Larsch <nils@openssl.org>2006-02-08 19:16:33 +0000
commit22d1087e16cff731d27c890f84757652d98303c1 (patch)
tree5a788aea06a917bd9913bc6d14546dc8e62ed576 /ssl
parent9f85fcefdce92ea8746937f20f9f2fbe384c2095 (diff)
backport recent changes from the cvs head
Diffstat (limited to 'ssl')
-rw-r--r--ssl/d1_enc.c5
-rw-r--r--ssl/d1_pkt.c8
-rw-r--r--ssl/s3_srvr.c9
3 files changed, 18 insertions, 4 deletions
diff --git a/ssl/d1_enc.c b/ssl/d1_enc.c
index 42997eaee9..cbff7495c5 100644
--- a/ssl/d1_enc.c
+++ b/ssl/d1_enc.c
@@ -146,7 +146,10 @@ int dtls1_enc(SSL *s, int send)
fprintf(stderr, "%s:%d: rec->data != rec->input\n",
__FILE__, __LINE__);
else if ( EVP_CIPHER_block_size(ds->cipher) > 1)
- RAND_bytes(rec->input, EVP_CIPHER_block_size(ds->cipher));
+ {
+ if (!RAND_bytes(rec->input, EVP_CIPHER_block_size(ds->cipher)))
+ return -1;
+ }
}
}
else
diff --git a/ssl/d1_pkt.c b/ssl/d1_pkt.c
index 892b889708..be6ee32326 100644
--- a/ssl/d1_pkt.c
+++ b/ssl/d1_pkt.c
@@ -197,7 +197,13 @@ dtls1_buffer_record(SSL *s, record_pqueue *queue, PQ_64BIT priority)
memset(&(s->s3->rbuf), 0, sizeof(SSL3_BUFFER));
memset(&(s->s3->rrec), 0, sizeof(SSL3_RECORD));
- ssl3_setup_buffers(s);
+ if (!ssl3_setup_buffers(s))
+ {
+ SSLerr(SSL_F_DTLS1_BUFFER_RECORD, ERR_R_INTERNAL_ERROR);
+ OPENSSL_free(rdata);
+ pitem_free(item);
+ return(0);
+ }
return(1);
}
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
index 1a52d1b7ff..a8c5df822c 100644
--- a/ssl/s3_srvr.c
+++ b/ssl/s3_srvr.c
@@ -2102,8 +2102,13 @@ int ssl3_get_client_key_exchange(SSL *s)
goto f_err;
}
- EC_POINT_copy(clnt_ecpoint,
- EC_KEY_get0_public_key(clnt_pub_pkey->pkey.ec));
+ if (EC_POINT_copy(clnt_ecpoint,
+ EC_KEY_get0_public_key(clnt_pub_pkey->pkey.ec)) == 0)
+ {
+ SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,
+ ERR_R_EC_LIB);
+ goto err;
+ }
ret = 2; /* Skip certificate verify processing */
}
else