summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1993-08-17 20:03:24 +0000
committerTheodore Tso <tytso@mit.edu>1993-08-17 20:03:24 +0000
commit2f4b30d422dbe07d7dbff4ad11b12c81759b6d3a (patch)
tree8164da84b2b3afb31897172e349ba18e11a3a33b /src
parent71aed2a746cd91105068a03ddddd3fb2ad547ab8 (diff)
downloadkrb5-2f4b30d422dbe07d7dbff4ad11b12c81759b6d3a.tar.gz
krb5-2f4b30d422dbe07d7dbff4ad11b12c81759b6d3a.tar.xz
krb5-2f4b30d422dbe07d7dbff4ad11b12c81759b6d3a.zip
Fix memory leak; free_principal now frees entire kerberos principal
structure! git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2633 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/free/f_princ.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/krb5/free/f_princ.c b/src/lib/krb5/free/f_princ.c
index f08262769e..2b476272fb 100644
--- a/src/lib/krb5/free/f_princ.c
+++ b/src/lib/krb5/free/f_princ.c
@@ -39,8 +39,13 @@ krb5_principal val;
{
register int i = krb5_princ_size(val);
- while(--i >= 0)
- free(krb5_princ_component(val, i)->data);
+ if (val->data) {
+ while(--i >= 0)
+ free(krb5_princ_component(val, i)->data);
+ xfree(val->data);
+ }
+ if (val->realm.data)
+ xfree(val->realm.data);
xfree(val);
return;
}