X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ssl%2Fd1_enc.c;h=ea5e12ee070e666c125add33a9dd780fbe464740;hb=e65bcbcef05007ad00e26c8132a8d5f4baa981f0;hp=42997eaee99015cead88707fe4af3955c1c52deb;hpb=beb056b303bd5733a05a85eb8527d40901e79e1a;p=oweals%2Fopenssl.git diff --git a/ssl/d1_enc.c b/ssl/d1_enc.c index 42997eaee9..ea5e12ee07 100644 --- a/ssl/d1_enc.c +++ b/ssl/d1_enc.c @@ -120,7 +120,9 @@ #include #include #include - +#ifdef KSSL_DEBUG +#include +#endif int dtls1_enc(SSL *s, int send) { @@ -132,8 +134,8 @@ int dtls1_enc(SSL *s, int send) if (send) { - if (s->write_hash != NULL) - n=EVP_MD_size(s->write_hash); + if (EVP_MD_CTX_md(s->write_hash)) + n=EVP_MD_CTX_size(s->write_hash); ds=s->enc_write_ctx; rec= &(s->s3->wrec); if (s->enc_write_ctx == NULL) @@ -146,13 +148,16 @@ 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 { - if (s->read_hash != NULL) - n=EVP_MD_size(s->read_hash); + if (EVP_MD_CTX_md(s->read_hash)) + n=EVP_MD_CTX_size(s->read_hash); ds=s->enc_read_ctx; rec= &(s->s3->rrec); if (s->enc_read_ctx == NULL)