diff options
author | Nils Larsch <nils@openssl.org> | 2006-02-08 19:16:33 +0000 |
---|---|---|
committer | Nils Larsch <nils@openssl.org> | 2006-02-08 19:16:33 +0000 |
commit | 22d1087e16cff731d27c890f84757652d98303c1 (patch) | |
tree | 5a788aea06a917bd9913bc6d14546dc8e62ed576 /ssl | |
parent | 9f85fcefdce92ea8746937f20f9f2fbe384c2095 (diff) |
backport recent changes from the cvs head
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/d1_enc.c | 5 | ||||
-rw-r--r-- | ssl/d1_pkt.c | 8 | ||||
-rw-r--r-- | ssl/s3_srvr.c | 9 |
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 |