free NULL cleanup 9
Ongoing work to skip NULL check before calling free routine. This gets: ecp_nistz256_pre_comp_free nistp224_pre_comp_free nistp256_pre_comp_free nistp521_pre_comp_free PKCS7_free PKCS7_RECIP_INFO_free PKCS7_SIGNER_INFO_free sk_PKCS7_pop_free PKCS8_PRIV_KEY_INFO_free PKCS12_free PKCS12_SAFEBAG_free PKCS12_free sk_PKCS12_SAFEBAG_pop_free SSL_CONF_CTX_free SSL_CTX_free SSL_SESSION_free SSL_free ssl_cert_free ssl_sess_cert_free Reviewed-by: Kurt Roeckx <kurt@openssl.org>
This commit is contained in:
parent
a38537721d
commit
e0e920b1a0
20 changed files with 40 additions and 115 deletions
|
@ -786,8 +786,7 @@ static int load_pkcs12(BIO *err, BIO *in, const char *desc,
|
||||||
}
|
}
|
||||||
ret = PKCS12_parse(p12, pass, pkey, cert, ca);
|
ret = PKCS12_parse(p12, pass, pkey, cert, ca);
|
||||||
die:
|
die:
|
||||||
if (p12)
|
PKCS12_free(p12);
|
||||||
PKCS12_free(p12);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -270,8 +270,7 @@ int MAIN(int argc, char **argv)
|
||||||
end:
|
end:
|
||||||
BIO_free(in);
|
BIO_free(in);
|
||||||
BIO_free_all(out);
|
BIO_free_all(out);
|
||||||
if (p7 != NULL)
|
PKCS7_free(p7);
|
||||||
PKCS7_free(p7);
|
|
||||||
if (crl != NULL)
|
if (crl != NULL)
|
||||||
X509_CRL_free(crl);
|
X509_CRL_free(crl);
|
||||||
|
|
||||||
|
|
|
@ -740,8 +740,7 @@ int MAIN(int argc, char **argv)
|
||||||
# endif
|
# endif
|
||||||
ret = 0;
|
ret = 0;
|
||||||
end:
|
end:
|
||||||
if (p12)
|
PKCS12_free(p12);
|
||||||
PKCS12_free(p12);
|
|
||||||
if (export_cert || inrand)
|
if (export_cert || inrand)
|
||||||
app_RAND_write_file(NULL, bio_err);
|
app_RAND_write_file(NULL, bio_err);
|
||||||
# ifdef CRYPTO_MDEBUG
|
# ifdef CRYPTO_MDEBUG
|
||||||
|
@ -798,9 +797,7 @@ int dump_certs_keys_p12(BIO *out, PKCS12 *p12, char *pass,
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
sk_PKCS7_pop_free(asafes, PKCS7_free);
|
||||||
if (asafes)
|
|
||||||
sk_PKCS7_pop_free(asafes, PKCS7_free);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -297,8 +297,7 @@ int MAIN(int argc, char **argv)
|
||||||
}
|
}
|
||||||
ret = 0;
|
ret = 0;
|
||||||
end:
|
end:
|
||||||
if (p7 != NULL)
|
PKCS7_free(p7);
|
||||||
PKCS7_free(p7);
|
|
||||||
BIO_free(in);
|
BIO_free(in);
|
||||||
BIO_free_all(out);
|
BIO_free_all(out);
|
||||||
apps_shutdown();
|
apps_shutdown();
|
||||||
|
|
|
@ -1741,8 +1741,7 @@ int ec_GFp_nistp224_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
|
||||||
EC_POINT_free(generator);
|
EC_POINT_free(generator);
|
||||||
if (new_ctx != NULL)
|
if (new_ctx != NULL)
|
||||||
BN_CTX_free(new_ctx);
|
BN_CTX_free(new_ctx);
|
||||||
if (pre)
|
nistp224_pre_comp_free(pre);
|
||||||
nistp224_pre_comp_free(pre);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2342,8 +2342,7 @@ int ec_GFp_nistp256_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
|
||||||
EC_POINT_free(generator);
|
EC_POINT_free(generator);
|
||||||
if (new_ctx != NULL)
|
if (new_ctx != NULL)
|
||||||
BN_CTX_free(new_ctx);
|
BN_CTX_free(new_ctx);
|
||||||
if (pre)
|
nistp256_pre_comp_free(pre);
|
||||||
nistp256_pre_comp_free(pre);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2125,8 +2125,7 @@ int ec_GFp_nistp521_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
|
||||||
EC_POINT_free(generator);
|
EC_POINT_free(generator);
|
||||||
if (new_ctx != NULL)
|
if (new_ctx != NULL)
|
||||||
BN_CTX_free(new_ctx);
|
BN_CTX_free(new_ctx);
|
||||||
if (pre)
|
nistp521_pre_comp_free(pre);
|
||||||
nistp521_pre_comp_free(pre);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -870,8 +870,7 @@ static int ecp_nistz256_mult_precompute(EC_GROUP *group, BN_CTX *ctx)
|
||||||
err:
|
err:
|
||||||
if (ctx != NULL)
|
if (ctx != NULL)
|
||||||
BN_CTX_end(ctx);
|
BN_CTX_end(ctx);
|
||||||
if (pre_comp)
|
ecp_nistz256_pre_comp_free(pre_comp);
|
||||||
ecp_nistz256_pre_comp_free(pre_comp);
|
|
||||||
if (precomp_storage)
|
if (precomp_storage)
|
||||||
OPENSSL_free(precomp_storage);
|
OPENSSL_free(precomp_storage);
|
||||||
EC_POINT_free(P);
|
EC_POINT_free(P);
|
||||||
|
|
|
@ -173,13 +173,9 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
|
||||||
return p12;
|
return p12;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
PKCS12_free(p12);
|
||||||
if (p12)
|
sk_PKCS7_pop_free(safes, PKCS7_free);
|
||||||
PKCS12_free(p12);
|
sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
|
||||||
if (safes)
|
|
||||||
sk_PKCS7_pop_free(safes, PKCS7_free);
|
|
||||||
if (bags)
|
|
||||||
sk_PKCS12_SAFEBAG_pop_free(bags, PKCS12_SAFEBAG_free);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -216,10 +212,7 @@ PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert)
|
||||||
return bag;
|
return bag;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
PKCS12_SAFEBAG_free(bag);
|
||||||
if (bag)
|
|
||||||
PKCS12_SAFEBAG_free(bag);
|
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -252,10 +245,7 @@ PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags,
|
||||||
return bag;
|
return bag;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
PKCS12_SAFEBAG_free(bag);
|
||||||
if (bag)
|
|
||||||
PKCS12_SAFEBAG_free(bag);
|
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -298,10 +288,7 @@ int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags,
|
||||||
sk_PKCS7_free(*psafes);
|
sk_PKCS7_free(*psafes);
|
||||||
*psafes = NULL;
|
*psafes = NULL;
|
||||||
}
|
}
|
||||||
|
PKCS7_free(p7);
|
||||||
if (p7)
|
|
||||||
PKCS7_free(p7);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,10 +83,9 @@ PKCS12 *PKCS12_init(int mode)
|
||||||
PKCS12err(PKCS12_F_PKCS12_INIT, PKCS12_R_UNSUPPORTED_PKCS12_MODE);
|
PKCS12err(PKCS12_F_PKCS12_INIT, PKCS12_R_UNSUPPORTED_PKCS12_MODE);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
return pkcs12;
|
return pkcs12;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
if (pkcs12 != NULL)
|
PKCS12_free(pkcs12);
|
||||||
PKCS12_free(pkcs12);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -121,8 +121,7 @@ int PKCS7_content_new(PKCS7 *p7, int type)
|
||||||
|
|
||||||
return (1);
|
return (1);
|
||||||
err:
|
err:
|
||||||
if (ret != NULL)
|
PKCS7_free(ret);
|
||||||
PKCS7_free(ret);
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,13 +132,11 @@ int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data)
|
||||||
i = OBJ_obj2nid(p7->type);
|
i = OBJ_obj2nid(p7->type);
|
||||||
switch (i) {
|
switch (i) {
|
||||||
case NID_pkcs7_signed:
|
case NID_pkcs7_signed:
|
||||||
if (p7->d.sign->contents != NULL)
|
PKCS7_free(p7->d.sign->contents);
|
||||||
PKCS7_free(p7->d.sign->contents);
|
|
||||||
p7->d.sign->contents = p7_data;
|
p7->d.sign->contents = p7_data;
|
||||||
break;
|
break;
|
||||||
case NID_pkcs7_digest:
|
case NID_pkcs7_digest:
|
||||||
if (p7->d.digest->contents != NULL)
|
PKCS7_free(p7->d.digest->contents);
|
||||||
PKCS7_free(p7->d.digest->contents);
|
|
||||||
p7->d.digest->contents = p7_data;
|
p7->d.digest->contents = p7_data;
|
||||||
break;
|
break;
|
||||||
case NID_pkcs7_data:
|
case NID_pkcs7_data:
|
||||||
|
@ -422,8 +419,7 @@ PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, EVP_PKEY *pkey,
|
||||||
goto err;
|
goto err;
|
||||||
return (si);
|
return (si);
|
||||||
err:
|
err:
|
||||||
if (si)
|
PKCS7_SIGNER_INFO_free(si);
|
||||||
PKCS7_SIGNER_INFO_free(si);
|
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -484,8 +480,7 @@ PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509)
|
||||||
goto err;
|
goto err;
|
||||||
return ri;
|
return ri;
|
||||||
err:
|
err:
|
||||||
if (ri)
|
PKCS7_RECIP_INFO_free(ri);
|
||||||
PKCS7_RECIP_INFO_free(ri);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,18 +53,14 @@ int main(int argc, char **argv)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
fprintf(stderr, "Error Signing Data\n");
|
fprintf(stderr, "Error Signing Data\n");
|
||||||
ERR_print_errors_fp(stderr);
|
ERR_print_errors_fp(stderr);
|
||||||
}
|
}
|
||||||
|
PKCS7_free(p7);
|
||||||
if (p7)
|
|
||||||
PKCS7_free(p7);
|
|
||||||
if (rcert)
|
if (rcert)
|
||||||
X509_free(rcert);
|
X509_free(rcert);
|
||||||
EVP_PKEY_free(rkey);
|
EVP_PKEY_free(rkey);
|
||||||
|
|
||||||
BIO_free(in);
|
BIO_free(in);
|
||||||
BIO_free(out);
|
BIO_free(out);
|
||||||
BIO_free(tbio);
|
BIO_free(tbio);
|
||||||
|
|
|
@ -67,23 +67,18 @@ int main(int argc, char **argv)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
fprintf(stderr, "Error Encrypting Data\n");
|
fprintf(stderr, "Error Encrypting Data\n");
|
||||||
ERR_print_errors_fp(stderr);
|
ERR_print_errors_fp(stderr);
|
||||||
}
|
}
|
||||||
|
PKCS7_free(p7);
|
||||||
if (p7)
|
|
||||||
PKCS7_free(p7);
|
|
||||||
if (rcert)
|
if (rcert)
|
||||||
X509_free(rcert);
|
X509_free(rcert);
|
||||||
if (recips)
|
if (recips)
|
||||||
sk_X509_pop_free(recips, X509_free);
|
sk_X509_pop_free(recips, X509_free);
|
||||||
|
|
||||||
BIO_free(in);
|
BIO_free(in);
|
||||||
BIO_free(out);
|
BIO_free(out);
|
||||||
BIO_free(tbio);
|
BIO_free(tbio);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,18 +63,14 @@ int main(int argc, char **argv)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
fprintf(stderr, "Error Signing Data\n");
|
fprintf(stderr, "Error Signing Data\n");
|
||||||
ERR_print_errors_fp(stderr);
|
ERR_print_errors_fp(stderr);
|
||||||
}
|
}
|
||||||
|
PKCS7_free(p7);
|
||||||
if (p7)
|
|
||||||
PKCS7_free(p7);
|
|
||||||
if (scert)
|
if (scert)
|
||||||
X509_free(scert);
|
X509_free(scert);
|
||||||
EVP_PKEY_free(skey);
|
EVP_PKEY_free(skey);
|
||||||
|
|
||||||
BIO_free(in);
|
BIO_free(in);
|
||||||
BIO_free(out);
|
BIO_free(out);
|
||||||
BIO_free(tbio);
|
BIO_free(tbio);
|
||||||
|
|
|
@ -71,27 +71,19 @@ int main(int argc, char **argv)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
fprintf(stderr, "Error Signing Data\n");
|
fprintf(stderr, "Error Signing Data\n");
|
||||||
ERR_print_errors_fp(stderr);
|
ERR_print_errors_fp(stderr);
|
||||||
}
|
}
|
||||||
|
PKCS7_free(p7);
|
||||||
if (p7)
|
|
||||||
PKCS7_free(p7);
|
|
||||||
|
|
||||||
if (scert)
|
if (scert)
|
||||||
X509_free(scert);
|
X509_free(scert);
|
||||||
EVP_PKEY_free(skey);
|
EVP_PKEY_free(skey);
|
||||||
|
|
||||||
if (scert2)
|
if (scert2)
|
||||||
X509_free(scert2);
|
X509_free(scert2);
|
||||||
EVP_PKEY_free(skey2);
|
EVP_PKEY_free(skey2);
|
||||||
|
|
||||||
BIO_free(in);
|
BIO_free(in);
|
||||||
BIO_free(out);
|
BIO_free(out);
|
||||||
BIO_free(tbio);
|
BIO_free(tbio);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,22 +61,15 @@ int main(int argc, char **argv)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
fprintf(stderr, "Error Verifying Data\n");
|
fprintf(stderr, "Error Verifying Data\n");
|
||||||
ERR_print_errors_fp(stderr);
|
ERR_print_errors_fp(stderr);
|
||||||
}
|
}
|
||||||
|
PKCS7_free(p7);
|
||||||
if (p7)
|
|
||||||
PKCS7_free(p7);
|
|
||||||
|
|
||||||
if (cacert)
|
if (cacert)
|
||||||
X509_free(cacert);
|
X509_free(cacert);
|
||||||
|
|
||||||
BIO_free(in);
|
BIO_free(in);
|
||||||
BIO_free(out);
|
BIO_free(out);
|
||||||
BIO_free(tbio);
|
BIO_free(tbio);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -568,15 +568,13 @@ void SSL_free(SSL *s)
|
||||||
ssl_clear_hash_ctx(&s->read_hash);
|
ssl_clear_hash_ctx(&s->read_hash);
|
||||||
ssl_clear_hash_ctx(&s->write_hash);
|
ssl_clear_hash_ctx(&s->write_hash);
|
||||||
|
|
||||||
if (s->cert != NULL)
|
ssl_cert_free(s->cert);
|
||||||
ssl_cert_free(s->cert);
|
|
||||||
/* Free up if allocated */
|
/* Free up if allocated */
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_TLSEXT
|
#ifndef OPENSSL_NO_TLSEXT
|
||||||
if (s->tlsext_hostname)
|
if (s->tlsext_hostname)
|
||||||
OPENSSL_free(s->tlsext_hostname);
|
OPENSSL_free(s->tlsext_hostname);
|
||||||
if (s->initial_ctx)
|
SSL_CTX_free(s->initial_ctx);
|
||||||
SSL_CTX_free(s->initial_ctx);
|
|
||||||
# ifndef OPENSSL_NO_EC
|
# ifndef OPENSSL_NO_EC
|
||||||
if (s->tlsext_ecpointformatlist)
|
if (s->tlsext_ecpointformatlist)
|
||||||
OPENSSL_free(s->tlsext_ecpointformatlist);
|
OPENSSL_free(s->tlsext_ecpointformatlist);
|
||||||
|
@ -601,8 +599,7 @@ void SSL_free(SSL *s)
|
||||||
|
|
||||||
RECORD_LAYER_release(&s->rlayer);
|
RECORD_LAYER_release(&s->rlayer);
|
||||||
|
|
||||||
if (s->ctx)
|
SSL_CTX_free(s->ctx);
|
||||||
SSL_CTX_free(s->ctx);
|
|
||||||
|
|
||||||
#ifndef OPENSSL_NO_KRB5
|
#ifndef OPENSSL_NO_KRB5
|
||||||
if (s->kssl_ctx != NULL)
|
if (s->kssl_ctx != NULL)
|
||||||
|
@ -2011,8 +2008,7 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth)
|
||||||
err:
|
err:
|
||||||
SSLerr(SSL_F_SSL_CTX_NEW, ERR_R_MALLOC_FAILURE);
|
SSLerr(SSL_F_SSL_CTX_NEW, ERR_R_MALLOC_FAILURE);
|
||||||
err2:
|
err2:
|
||||||
if (ret != NULL)
|
SSL_CTX_free(ret);
|
||||||
SSL_CTX_free(ret);
|
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2062,8 +2058,7 @@ void SSL_CTX_free(SSL_CTX *a)
|
||||||
sk_SSL_CIPHER_free(a->cipher_list);
|
sk_SSL_CIPHER_free(a->cipher_list);
|
||||||
if (a->cipher_list_by_id != NULL)
|
if (a->cipher_list_by_id != NULL)
|
||||||
sk_SSL_CIPHER_free(a->cipher_list_by_id);
|
sk_SSL_CIPHER_free(a->cipher_list_by_id);
|
||||||
if (a->cert != NULL)
|
ssl_cert_free(a->cert);
|
||||||
ssl_cert_free(a->cert);
|
|
||||||
if (a->client_CA != NULL)
|
if (a->client_CA != NULL)
|
||||||
sk_X509_NAME_pop_free(a->client_CA, X509_NAME_free);
|
sk_X509_NAME_pop_free(a->client_CA, X509_NAME_free);
|
||||||
if (a->extra_certs != NULL)
|
if (a->extra_certs != NULL)
|
||||||
|
@ -2776,9 +2771,7 @@ SSL *SSL_dup(SSL *s)
|
||||||
ret->method->ssl_new(ret);
|
ret->method->ssl_new(ret);
|
||||||
|
|
||||||
if (s->cert != NULL) {
|
if (s->cert != NULL) {
|
||||||
if (ret->cert != NULL) {
|
ssl_cert_free(ret->cert);
|
||||||
ssl_cert_free(ret->cert);
|
|
||||||
}
|
|
||||||
ret->cert = ssl_cert_dup(s->cert);
|
ret->cert = ssl_cert_dup(s->cert);
|
||||||
if (ret->cert == NULL)
|
if (ret->cert == NULL)
|
||||||
goto err;
|
goto err;
|
||||||
|
@ -2862,8 +2855,7 @@ SSL *SSL_dup(SSL *s)
|
||||||
|
|
||||||
if (0) {
|
if (0) {
|
||||||
err:
|
err:
|
||||||
if (ret != NULL)
|
SSL_free(ret);
|
||||||
SSL_free(ret);
|
|
||||||
ret = NULL;
|
ret = NULL;
|
||||||
}
|
}
|
||||||
return (ret);
|
return (ret);
|
||||||
|
@ -3092,8 +3084,7 @@ SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
CRYPTO_add(&ctx->references, 1, CRYPTO_LOCK_SSL_CTX);
|
CRYPTO_add(&ctx->references, 1, CRYPTO_LOCK_SSL_CTX);
|
||||||
if (ssl->ctx != NULL)
|
SSL_CTX_free(ssl->ctx); /* decrement reference count */
|
||||||
SSL_CTX_free(ssl->ctx); /* decrement reference count */
|
|
||||||
ssl->ctx = ctx;
|
ssl->ctx = ctx;
|
||||||
|
|
||||||
return (ssl->ctx);
|
return (ssl->ctx);
|
||||||
|
|
|
@ -726,8 +726,7 @@ void SSL_SESSION_free(SSL_SESSION *ss)
|
||||||
|
|
||||||
OPENSSL_cleanse(ss->master_key, sizeof ss->master_key);
|
OPENSSL_cleanse(ss->master_key, sizeof ss->master_key);
|
||||||
OPENSSL_cleanse(ss->session_id, sizeof ss->session_id);
|
OPENSSL_cleanse(ss->session_id, sizeof ss->session_id);
|
||||||
if (ss->sess_cert != NULL)
|
ssl_sess_cert_free(ss->sess_cert);
|
||||||
ssl_sess_cert_free(ss->sess_cert);
|
|
||||||
if (ss->peer != NULL)
|
if (ss->peer != NULL)
|
||||||
X509_free(ss->peer);
|
X509_free(ss->peer);
|
||||||
if (ss->ciphers != NULL)
|
if (ss->ciphers != NULL)
|
||||||
|
@ -795,18 +794,14 @@ int SSL_set_session(SSL *s, SSL_SESSION *session)
|
||||||
|
|
||||||
/* CRYPTO_w_lock(CRYPTO_LOCK_SSL); */
|
/* CRYPTO_w_lock(CRYPTO_LOCK_SSL); */
|
||||||
CRYPTO_add(&session->references, 1, CRYPTO_LOCK_SSL_SESSION);
|
CRYPTO_add(&session->references, 1, CRYPTO_LOCK_SSL_SESSION);
|
||||||
if (s->session != NULL)
|
SSL_SESSION_free(s->session);
|
||||||
SSL_SESSION_free(s->session);
|
|
||||||
s->session = session;
|
s->session = session;
|
||||||
s->verify_result = s->session->verify_result;
|
s->verify_result = s->session->verify_result;
|
||||||
/* CRYPTO_w_unlock(CRYPTO_LOCK_SSL); */
|
/* CRYPTO_w_unlock(CRYPTO_LOCK_SSL); */
|
||||||
ret = 1;
|
ret = 1;
|
||||||
} else {
|
} else {
|
||||||
if (s->session != NULL) {
|
SSL_SESSION_free(s->session);
|
||||||
SSL_SESSION_free(s->session);
|
s->session = NULL;
|
||||||
s->session = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
meth = s->ctx->method;
|
meth = s->ctx->method;
|
||||||
if (meth != s->method) {
|
if (meth != s->method) {
|
||||||
if (!SSL_set_ssl_method(s, meth))
|
if (!SSL_set_ssl_method(s, meth))
|
||||||
|
|
|
@ -410,10 +410,7 @@ static int test_EVP_PKCS82PKEY(void)
|
||||||
ret = 1;
|
ret = 1;
|
||||||
|
|
||||||
done:
|
done:
|
||||||
if (p8inf != NULL) {
|
PKCS8_PRIV_KEY_INFO_free(p8inf);
|
||||||
PKCS8_PRIV_KEY_INFO_free(p8inf);
|
|
||||||
}
|
|
||||||
|
|
||||||
EVP_PKEY_free(pkey);
|
EVP_PKEY_free(pkey);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -1791,7 +1791,6 @@ int main(int argc, char *argv[])
|
||||||
end:
|
end:
|
||||||
SSL_CTX_free(s_ctx);
|
SSL_CTX_free(s_ctx);
|
||||||
SSL_CTX_free(c_ctx);
|
SSL_CTX_free(c_ctx);
|
||||||
|
|
||||||
SSL_CONF_CTX_free(s_cctx);
|
SSL_CONF_CTX_free(s_cctx);
|
||||||
SSL_CONF_CTX_free(c_cctx);
|
SSL_CONF_CTX_free(c_cctx);
|
||||||
sk_OPENSSL_STRING_free(conf_args);
|
sk_OPENSSL_STRING_free(conf_args);
|
||||||
|
|
Loading…
Reference in a new issue