mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-08-08 23:13:38 +08:00
Merge pull request #851 from J-Feng/master
Uninitialized variable `l` results in cert length mismatch error
This commit is contained in:
@@ -281,7 +281,7 @@ static int gmtls_process_sm9_params(SSL *s, PACKET *pkt, int *al, int ibe)
|
|||||||
if (!(sm9->params = d2i_SM9PublicParameters(NULL, &p,
|
if (!(sm9->params = d2i_SM9PublicParameters(NULL, &p,
|
||||||
PACKET_remaining(¶ms)))) {
|
PACKET_remaining(¶ms)))) {
|
||||||
*al = SSL_AD_DECODE_ERROR;
|
*al = SSL_AD_DECODE_ERROR;
|
||||||
SSLerr(SSL_F_GMTLS_PROCESS_SM9_PARAMS, ERR_R_INTERNAL_ERROR);// rename this error
|
SSLerr(SSL_F_GMTLS_PROCESS_SM9_PARAMS, ERR_R_INTERNAL_ERROR);// rename this error
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* check there is no remaining data */
|
/* check there is no remaining data */
|
||||||
@@ -525,8 +525,8 @@ static int gmtls_construct_ske_sm2dhe(SSL *s, unsigned char **p, int *l, int *al
|
|||||||
s2n(siglen, d);
|
s2n(siglen, d);
|
||||||
d += siglen;
|
d += siglen;
|
||||||
|
|
||||||
*l += d - *p;
|
*l += d - *p;
|
||||||
*p = d;
|
*p = d;
|
||||||
*al = -1;
|
*al = -1;
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
|
||||||
@@ -599,7 +599,7 @@ static int gmtls_process_ske_sm2dhe(SSL *s, PACKET *pkt, int *al)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// s->s3->peer_tmp need to be free-ed when error happed?
|
// s->s3->peer_tmp need to be free-ed when error happed?
|
||||||
|
|
||||||
|
|
||||||
/* get ECDHEParams length */
|
/* get ECDHEParams length */
|
||||||
paramslen = PACKET_data(pkt) - ecparams;
|
paramslen = PACKET_data(pkt) - ecparams;
|
||||||
@@ -1339,7 +1339,7 @@ int gmtls_construct_client_certificate(SSL *s)
|
|||||||
int al = -1;
|
int al = -1;
|
||||||
unsigned long alg_a = s->s3->tmp.new_cipher->algorithm_auth;
|
unsigned long alg_a = s->s3->tmp.new_cipher->algorithm_auth;
|
||||||
unsigned char *p;
|
unsigned char *p;
|
||||||
int l;
|
int l = 3 + SSL_HM_HEADER_LENGTH(s);
|
||||||
|
|
||||||
if (alg_a & SSL_aSM2) {
|
if (alg_a & SSL_aSM2) {
|
||||||
if (!gmtls_construct_sm2_certs(s, &l)) {
|
if (!gmtls_construct_sm2_certs(s, &l)) {
|
||||||
@@ -2185,8 +2185,8 @@ int gmtls_construct_client_key_exchange(SSL *s)
|
|||||||
err:
|
err:
|
||||||
if (al != -1)
|
if (al != -1)
|
||||||
ssl3_send_alert(s, SSL3_AL_FATAL, al);
|
ssl3_send_alert(s, SSL3_AL_FATAL, al);
|
||||||
OPENSSL_clear_free(s->s3->tmp.pms, s->s3->tmp.pmslen);
|
OPENSSL_clear_free(s->s3->tmp.pms, s->s3->tmp.pmslen);
|
||||||
s->s3->tmp.pms = NULL;
|
s->s3->tmp.pms = NULL;
|
||||||
ossl_statem_set_error(s);
|
ossl_statem_set_error(s);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user