diff options
author | Theodore Tso <tytso@mit.edu> | 1993-08-17 20:03:24 +0000 |
---|---|---|
committer | Theodore Tso <tytso@mit.edu> | 1993-08-17 20:03:24 +0000 |
commit | 2f4b30d422dbe07d7dbff4ad11b12c81759b6d3a (patch) | |
tree | 8164da84b2b3afb31897172e349ba18e11a3a33b /src | |
parent | 71aed2a746cd91105068a03ddddd3fb2ad547ab8 (diff) | |
download | krb5-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.c | 9 |
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; } |