Accept NULL in *_free.
This commit is contained in:
parent
6fa89f94c4
commit
e03ddfae7e
24 changed files with 66 additions and 4 deletions
3
CHANGES
3
CHANGES
|
@ -5,6 +5,9 @@
|
|||
|
||||
Changes between 0.9.1c and 0.9.2
|
||||
|
||||
*) Make _all_ *_free functions accept a NULL pointer.
|
||||
[Frans Heymans <fheymans@isaserver.be>]
|
||||
|
||||
*) If a DH key is generated in s3_srvr.c, don't blow it by trying to use
|
||||
NULL pointers.
|
||||
[Anonymous <nobody@replay.com>]
|
||||
|
|
|
@ -267,6 +267,9 @@ PKCS7 *a;
|
|||
void PKCS7_content_free(a)
|
||||
PKCS7 *a;
|
||||
{
|
||||
if(a == NULL)
|
||||
return;
|
||||
|
||||
if (a->asn1 != NULL) Free((char *)a->asn1);
|
||||
|
||||
if (a->d.ptr != NULL)
|
||||
|
|
|
@ -263,6 +263,9 @@ X509_NAME_ENTRY *X509_NAME_ENTRY_new()
|
|||
void X509_NAME_free(a)
|
||||
X509_NAME *a;
|
||||
{
|
||||
if(a == NULL)
|
||||
return;
|
||||
|
||||
BUF_MEM_free(a->bytes);
|
||||
sk_pop_free(a->entries,X509_NAME_ENTRY_free);
|
||||
Free((char *)a);
|
||||
|
|
|
@ -310,6 +310,9 @@ struct hostent *a;
|
|||
{
|
||||
int i;
|
||||
|
||||
if(a == NULL)
|
||||
return;
|
||||
|
||||
if (a->h_aliases != NULL)
|
||||
{
|
||||
for (i=0; a->h_aliases[i] != NULL; i++)
|
||||
|
|
|
@ -173,6 +173,9 @@ BIO_ACCEPT *BIO_ACCEPT_new()
|
|||
void BIO_ACCEPT_free(a)
|
||||
BIO_ACCEPT *a;
|
||||
{
|
||||
if(a == NULL)
|
||||
return;
|
||||
|
||||
if (a->param_addr != NULL) Free(a->param_addr);
|
||||
if (a->addr != NULL) Free(a->addr);
|
||||
if (a->bio_chain != NULL) BIO_free(a->bio_chain);
|
||||
|
|
|
@ -357,6 +357,9 @@ BIO_CONNECT *BIO_CONNECT_new()
|
|||
void BIO_CONNECT_free(a)
|
||||
BIO_CONNECT *a;
|
||||
{
|
||||
if(a == NULL)
|
||||
return;
|
||||
|
||||
if (a->param_hostname != NULL)
|
||||
Free(a->param_hostname);
|
||||
if (a->param_port != NULL)
|
||||
|
|
|
@ -90,6 +90,9 @@ err:
|
|||
void BN_BLINDING_free(r)
|
||||
BN_BLINDING *r;
|
||||
{
|
||||
if(r == NULL)
|
||||
return;
|
||||
|
||||
if (r->A != NULL) BN_free(r->A );
|
||||
if (r->Ai != NULL) BN_free(r->Ai);
|
||||
Free(r);
|
||||
|
|
|
@ -341,6 +341,9 @@ BN_CTX *c;
|
|||
{
|
||||
int i;
|
||||
|
||||
if(c == NULL)
|
||||
return;
|
||||
|
||||
for (i=0; i<BN_CTX_NUM; i++)
|
||||
BN_clear_free(&(c->bn[i]));
|
||||
if (c->flags & BN_FLG_MALLOCED)
|
||||
|
|
|
@ -289,6 +289,9 @@ BN_MONT_CTX *ctx;
|
|||
void BN_MONT_CTX_free(mont)
|
||||
BN_MONT_CTX *mont;
|
||||
{
|
||||
if(mont == NULL)
|
||||
return;
|
||||
|
||||
BN_free(&(mont->RR));
|
||||
BN_free(&(mont->N));
|
||||
BN_free(&(mont->Ni));
|
||||
|
|
|
@ -84,6 +84,9 @@ BN_RECP_CTX *BN_RECP_CTX_new()
|
|||
void BN_RECP_CTX_free(recp)
|
||||
BN_RECP_CTX *recp;
|
||||
{
|
||||
if(recp == NULL)
|
||||
return;
|
||||
|
||||
BN_free(&(recp->N));
|
||||
BN_free(&(recp->Nr));
|
||||
if (recp->flags & BN_FLG_MALLOCED)
|
||||
|
|
|
@ -79,6 +79,9 @@ BUF_MEM *BUF_MEM_new()
|
|||
void BUF_MEM_free(a)
|
||||
BUF_MEM *a;
|
||||
{
|
||||
if(a == NULL)
|
||||
return;
|
||||
|
||||
if (a->data != NULL)
|
||||
{
|
||||
memset(a->data,0,(unsigned int)a->max);
|
||||
|
|
|
@ -33,6 +33,9 @@ COMP_CTX *ctx;
|
|||
{
|
||||
/* CRYPTO_free_ex_data(rsa_meth,(char *)ctx,&ctx->ex_data); */
|
||||
|
||||
if(ctx == NULL)
|
||||
return;
|
||||
|
||||
if (ctx->meth->finish != NULL)
|
||||
ctx->meth->finish(ctx);
|
||||
|
||||
|
|
|
@ -175,6 +175,9 @@ ERR_STATE *s;
|
|||
{
|
||||
int i;
|
||||
|
||||
if(s == NULL)
|
||||
return;
|
||||
|
||||
for (i=0; i<ERR_NUM_ERRORS; i++)
|
||||
{
|
||||
err_clear_data(s,i);
|
||||
|
|
|
@ -474,8 +474,7 @@ RSA *rsa;
|
|||
err:
|
||||
BN_clear_free(&m1);
|
||||
BN_clear_free(&r1);
|
||||
if(ctx)
|
||||
BN_CTX_free(ctx);
|
||||
BN_CTX_free(ctx);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
|
|
@ -531,8 +531,7 @@ RSA *rsa;
|
|||
err:
|
||||
if (m1 != NULL) BN_free(m1);
|
||||
if (r1 != NULL) BN_free(r1);
|
||||
if(ctx != NULL)
|
||||
BN_CTX_free(ctx);
|
||||
BN_CTX_free(ctx);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
|
|
@ -356,6 +356,9 @@ TXT_DB *db;
|
|||
int i,n;
|
||||
char **p,*max;
|
||||
|
||||
if(db == NULL)
|
||||
return;
|
||||
|
||||
if (db->index != NULL)
|
||||
{
|
||||
for (i=db->num_fields-1; i>=0; i--)
|
||||
|
|
|
@ -259,6 +259,9 @@ X509_STORE *vfy;
|
|||
STACK *sk;
|
||||
X509_LOOKUP *lu;
|
||||
|
||||
if(vfy == NULL)
|
||||
return;
|
||||
|
||||
sk=vfy->get_cert_methods;
|
||||
for (i=0; i<sk_num(sk); i++)
|
||||
{
|
||||
|
|
|
@ -257,6 +257,9 @@ SSL *s;
|
|||
{
|
||||
SSL2_CTX *s2;
|
||||
|
||||
if(s == NULL)
|
||||
return;
|
||||
|
||||
s2=s->s2;
|
||||
if (s2->rbuf != NULL) Free(s2->rbuf);
|
||||
if (s2->wbuf != NULL) Free(s2->wbuf);
|
||||
|
|
|
@ -208,6 +208,7 @@ int which;
|
|||
|
||||
p=s->s3->tmp.key_block;
|
||||
i=EVP_MD_size(m);
|
||||
// Should be j=exp?min(5,EVP_CIPHER_key_length(c)):EVP_CIPHER_key_length(c); ?? - Ben 30/12/98
|
||||
j=(exp)?5:EVP_CIPHER_key_length(c);
|
||||
k=EVP_CIPHER_iv_length(c);
|
||||
if ( (which == SSL3_CHANGE_CIPHER_CLIENT_WRITE) ||
|
||||
|
|
|
@ -456,6 +456,9 @@ err:
|
|||
void ssl3_free(s)
|
||||
SSL *s;
|
||||
{
|
||||
if(s == NULL)
|
||||
return;
|
||||
|
||||
ssl3_cleanup_key_block(s);
|
||||
if (s->s3->rbuf.buf != NULL)
|
||||
Free(s->s3->rbuf.buf);
|
||||
|
|
|
@ -105,6 +105,9 @@ CERT *c;
|
|||
{
|
||||
int i;
|
||||
|
||||
if(c == NULL)
|
||||
return;
|
||||
|
||||
i=CRYPTO_add(&c->references,-1,CRYPTO_LOCK_SSL_CERT);
|
||||
#ifdef REF_PRINT
|
||||
REF_PRINT("CERT",c);
|
||||
|
|
|
@ -361,6 +361,9 @@ SSL_SESSION *ss;
|
|||
{
|
||||
int i;
|
||||
|
||||
if(ss == NULL)
|
||||
return;
|
||||
|
||||
i=CRYPTO_add(&ss->references,-1,CRYPTO_LOCK_SSL_SESSION);
|
||||
#ifdef REF_PRINT
|
||||
REF_PRINT("SSL_SESSION",ss);
|
||||
|
|
|
@ -203,6 +203,9 @@ SSL *s;
|
|||
{
|
||||
int i;
|
||||
|
||||
if(s == NULL)
|
||||
return;
|
||||
|
||||
i=CRYPTO_add(&s->references,-1,CRYPTO_LOCK_SSL);
|
||||
#ifdef REF_PRINT
|
||||
REF_PRINT("SSL",s);
|
||||
|
|
|
@ -363,6 +363,9 @@ SSL_SESSION *ss;
|
|||
{
|
||||
int i;
|
||||
|
||||
if(ss == NULL)
|
||||
return;
|
||||
|
||||
i=CRYPTO_add(&ss->references,-1,CRYPTO_LOCK_SSL_SESSION);
|
||||
#ifdef REF_PRINT
|
||||
REF_PRINT("SSL_SESSION",ss);
|
||||
|
|
Loading…
Reference in a new issue