mirror of https://github.com/openssl/openssl.git
				
				
				
			ssl/s3_enc.c: fix logical errors in ssl3_final_finish_mac.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/7085)
(cherry picked from commit 7d0effeacb)
			
			
This commit is contained in:
		
							parent
							
								
									7ed9ad1cc3
								
							
						
					
					
						commit
						7055086185
					
				| 
						 | 
				
			
			@ -442,15 +442,16 @@ size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t len,
 | 
			
		|||
    if (!EVP_MD_CTX_copy_ex(ctx, s->s3->handshake_dgst)) {
 | 
			
		||||
        SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL3_FINAL_FINISH_MAC,
 | 
			
		||||
                 ERR_R_INTERNAL_ERROR);
 | 
			
		||||
        return 0;
 | 
			
		||||
        ret = 0;
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    ret = EVP_MD_CTX_size(ctx);
 | 
			
		||||
    if (ret < 0) {
 | 
			
		||||
        SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL3_FINAL_FINISH_MAC,
 | 
			
		||||
                 ERR_R_INTERNAL_ERROR);
 | 
			
		||||
        EVP_MD_CTX_reset(ctx);
 | 
			
		||||
        return 0;
 | 
			
		||||
        ret = 0;
 | 
			
		||||
        goto err;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ((sender != NULL && EVP_DigestUpdate(ctx, sender, len) <= 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -463,6 +464,7 @@ size_t ssl3_final_finish_mac(SSL *s, const char *sender, size_t len,
 | 
			
		|||
        ret = 0;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 err:
 | 
			
		||||
    EVP_MD_CTX_free(ctx);
 | 
			
		||||
 | 
			
		||||
    return ret;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue