Fix unitialised variable problem

tls_process_client_hello() failed to initialise the |al| variable in some
(error) scenarios. This could cause issues with creating the alert.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
Matt Caswell 2015-10-22 13:31:20 +01:00
parent 31fd10e60d
commit 20dbe58577

View File

@ -3179,7 +3179,7 @@ enum MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt)
enum MSG_PROCESS_RETURN tls_process_client_certificate(SSL *s, PACKET *pkt) enum MSG_PROCESS_RETURN tls_process_client_certificate(SSL *s, PACKET *pkt)
{ {
int i, al, ret = MSG_PROCESS_ERROR; int i, al = SSL_AD_INTERNAL_ERROR, ret = MSG_PROCESS_ERROR;
X509 *x = NULL; X509 *x = NULL;
unsigned long l, llen; unsigned long l, llen;
const unsigned char *certstart; const unsigned char *certstart;
@ -3246,7 +3246,6 @@ enum MSG_PROCESS_RETURN tls_process_client_certificate(SSL *s, PACKET *pkt)
} }
/* No client certificate so digest cached records */ /* No client certificate so digest cached records */
if (s->s3->handshake_buffer && !ssl3_digest_cached_records(s, 0)) { if (s->s3->handshake_buffer && !ssl3_digest_cached_records(s, 0)) {
al = SSL_AD_INTERNAL_ERROR;
goto f_err; goto f_err;
} }
} else { } else {