zero out content of all krb5_free_x_content like functions to make sure data doesnt get reused, idea from Wynn Wilkes <wwilkes@vintela.com>
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15167 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1033,6 +1033,7 @@ krb5_free_address(krb5_context context,
|
||||
if(a != NULL && a->free_addr != NULL)
|
||||
return (*a->free_addr)(context, address);
|
||||
krb5_data_free (&address->address);
|
||||
memset(address, 0, sizeof(*address));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -266,6 +266,7 @@ krb5_free_context(krb5_context context)
|
||||
HEIMDAL_MUTEX_destroy(context->mutex);
|
||||
free(context->mutex);
|
||||
}
|
||||
memset(context, 0, sizeof(*context));
|
||||
free(context);
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997 - 2004 Kungliga Tekniska H<>gskolan
|
||||
* Copyright (c) 1997 - 2005 Kungliga Tekniska H<>gskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
@@ -54,6 +54,7 @@ krb5_free_cred_contents (krb5_context context, krb5_creds *c)
|
||||
krb5_data_free (&c->second_ticket);
|
||||
free_AuthorizationData (&c->authdata);
|
||||
krb5_free_addresses (context, &c->addresses);
|
||||
memset(c, 0, sizeof(*c));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan
|
||||
* Copyright (c) 1997 - 1999, 2004 - 2005 Kungliga Tekniska H<>gskolan
|
||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||
* All rights reserved.
|
||||
*
|
||||
@@ -41,6 +41,7 @@ krb5_free_kdc_rep(krb5_context context, krb5_kdc_rep *rep)
|
||||
free_KDC_REP(&rep->kdc_rep);
|
||||
free_EncTGSRepPart(&rep->enc_part);
|
||||
free_KRB_ERROR(&rep->error);
|
||||
memset(rep, 0, sizeo(*rep));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -50,6 +50,7 @@ krb5_free_keyblock_contents(krb5_context context,
|
||||
if (keyblock->keyvalue.data != NULL)
|
||||
memset(keyblock->keyvalue.data, 0, keyblock->keyvalue.length);
|
||||
krb5_data_free (&keyblock->keyvalue);
|
||||
keyblock->keytype = ENCTYPE_NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -127,6 +127,7 @@ void KRB5_LIB_FUNCTION
|
||||
krb5_free_checksum_contents(krb5_context context, krb5_checksum *cksum)
|
||||
{
|
||||
krb5_checksum_free(context, cksum);
|
||||
memset(cksum, 0, sizeof(*cksum));
|
||||
}
|
||||
|
||||
void KRB5_LIB_FUNCTION
|
||||
|
@@ -56,6 +56,7 @@ krb5_free_error_contents (krb5_context context,
|
||||
krb5_error *error)
|
||||
{
|
||||
free_KRB_ERROR(error);
|
||||
memset(error, 0, sizeof(*error));
|
||||
}
|
||||
|
||||
void KRB5_LIB_FUNCTION
|
||||
|
Reference in New Issue
Block a user