Fix memory leak; free_principal now frees entire kerberos principal
authorTheodore Tso <tytso@mit.edu>
Tue, 17 Aug 1993 20:03:24 +0000 (20:03 +0000)
committerTheodore Tso <tytso@mit.edu>
Tue, 17 Aug 1993 20:03:24 +0000 (20:03 +0000)
structure!

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2633 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/free/f_princ.c

index f08262769eaf5072832d431ee820703290e247d5..2b476272fbecc98e869f4fec541e867fcc1f10fd 100644 (file)
@@ -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;
 }