From d7e8b39025c3c2d9555f6b84f1a1a6e2bbf19750 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Tue, 10 Jun 1997 09:36:45 +0000 Subject: [PATCH] Move stuff from principal_p.c. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1880 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/principal.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/krb5/principal.c b/lib/krb5/principal.c index 7c6b1a8e4..43e4152bb 100644 --- a/lib/krb5/principal.c +++ b/lib/krb5/principal.c @@ -14,7 +14,12 @@ void krb5_free_principal(krb5_context context, krb5_principal p) { - krb5_principal_free(p); + int i; + for(i = 0; i < p->ncomp; i++) + krb5_data_free(&p->comp[i]); + free(p->comp); + krb5_data_free(&p->realm); + free(p); } krb5_error_code @@ -275,7 +280,8 @@ build_principal(krb5_context context, krb5_principal p; int n; - if(krb5_principal_alloc(&p)) + p = calloc(1, sizeof(*p)); + if (p == NULL) return ENOMEM; p->type = KRB5_NT_PRINCIPAL; @@ -334,7 +340,8 @@ krb5_copy_principal(krb5_context context, { krb5_principal p; int i; - if(krb5_principal_alloc(&p)) + p = calloc(1, sizeof(*p)); + if (p == NULL) return ENOMEM; p->type = inprinc->type; if(krb5_data_copy(&p->realm, inprinc->realm.data, inprinc->realm.length)){