mirror of https://github.com/openssl/openssl.git
				
				
				
			The ssl3_digest_cached_records() function does not handle errors properly
The ssl3_digest_cached_records() function was failing to handle errors that might be returned from EVP_DigestSignInit() and EVP_DigestSignUpdate(). RT#4180 Reviewed-by: Stephen Henson <steve@openssl.org>
This commit is contained in:
		
							parent
							
								
									1d00db6b5a
								
							
						
					
					
						commit
						ea32151f7b
					
				|  | @ -374,14 +374,13 @@ int ssl3_digest_cached_records(SSL *s, int keep) | |||
|         } | ||||
| 
 | ||||
|         md = ssl_handshake_md(s); | ||||
|         if (md == NULL) { | ||||
|         if (   md == NULL | ||||
|             || !EVP_DigestInit_ex(s->s3->handshake_dgst, md, NULL) | ||||
|             || !EVP_DigestUpdate(s->s3->handshake_dgst, hdata, hdatalen)) | ||||
|         { | ||||
|             SSLerr(SSL_F_SSL3_DIGEST_CACHED_RECORDS, ERR_R_INTERNAL_ERROR); | ||||
|             return 0; | ||||
|         } | ||||
| 
 | ||||
|         EVP_DigestInit_ex(s->s3->handshake_dgst, md, NULL); | ||||
|         EVP_DigestUpdate(s->s3->handshake_dgst, hdata, hdatalen); | ||||
| 
 | ||||
|     } | ||||
|     if (keep == 0) { | ||||
|         BIO_free(s->s3->handshake_buffer); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue