free NULL cleanup 5a
Don't check for NULL before calling a free routine. This gets X509_.*free: x509_name_ex_free X509_policy_tree_free X509_VERIFY_PARAM_free X509_STORE_free X509_STORE_CTX_free X509_PKEY_free X509_OBJECT_free_contents X509_LOOKUP_free X509_INFO_free Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
12
ssl/s3_lib.c
12
ssl/s3_lib.c
@@ -3126,8 +3126,7 @@ void ssl3_free(SSL *s)
|
||||
EC_KEY_free(s->s3->tmp.ecdh);
|
||||
#endif
|
||||
|
||||
if (s->s3->tmp.ca_names != NULL)
|
||||
sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free);
|
||||
sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free);
|
||||
BIO_free(s->s3->handshake_buffer);
|
||||
if (s->s3->handshake_dgst)
|
||||
ssl3_free_digest_list(s);
|
||||
@@ -3149,8 +3148,7 @@ void ssl3_clear(SSL *s)
|
||||
int init_extra;
|
||||
|
||||
ssl3_cleanup_key_block(s);
|
||||
if (s->s3->tmp.ca_names != NULL)
|
||||
sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free);
|
||||
sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free);
|
||||
|
||||
#ifndef OPENSSL_NO_DH
|
||||
DH_free(s->s3->tmp.dh);
|
||||
@@ -3925,10 +3923,8 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
|
||||
break;
|
||||
|
||||
case SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS:
|
||||
if (ctx->extra_certs) {
|
||||
sk_X509_pop_free(ctx->extra_certs, X509_free);
|
||||
ctx->extra_certs = NULL;
|
||||
}
|
||||
sk_X509_pop_free(ctx->extra_certs, X509_free);
|
||||
ctx->extra_certs = NULL;
|
||||
break;
|
||||
|
||||
case SSL_CTRL_CHAIN:
|
||||
|
Reference in New Issue
Block a user