diff options
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 f08262769..2b476272f 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; } |
