Call krb5_build_principal_ext instead of constructing a principal structure
authorJohn Carr <jfc@mit.edu>
Fri, 21 Aug 1992 02:55:12 +0000 (02:55 +0000)
committerJohn Carr <jfc@mit.edu>
Fri, 21 Aug 1992 02:55:12 +0000 (02:55 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2346 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/krb/tgtname.c

index b1c9e2c32d2414d96d593c2ada5355674ce56003..8b6b4261cbdf8740d310202445a246141c7c3f6f 100644 (file)
@@ -34,8 +34,6 @@ static char rcsid_tgtname_c [] =
 #include <krb5/ext-proto.h>
 #include <krb5/kdb.h>
 
-static krb5_data tgtdata = {sizeof(TGTNAME)-1, TGTNAME};
-
 /* This is an internal-only function, used by krb5_get_cred_from_kdc() */
 
 krb5_error_code
@@ -43,26 +41,8 @@ krb5_tgtname(client, server, tgtprinc)
 const krb5_data *client, *server;
 krb5_principal *tgtprinc;
 {
-    krb5_principal retprinc;
-    krb5_error_code retval;
-
-    if (!(retprinc = (krb5_data **)calloc(4, sizeof(krb5_data *))))
-       return ENOMEM;
-    if (retval = krb5_copy_data(server, &retprinc[0])) {
-       xfree(retprinc);
-       return retval;
-    }
-    if (retval = krb5_copy_data(&tgtdata, &retprinc[1])) {
-       krb5_free_data(retprinc[0]);
-       xfree(retprinc);
-       return retval;
-    }
-    if (retval = krb5_copy_data(client, &retprinc[2])) {
-       krb5_free_data(retprinc[0]);
-       krb5_free_data(retprinc[1]);
-       xfree(retprinc);
-       return retval;
-    }
-    *tgtprinc = retprinc;
-    return 0;
+    return krb5_build_principal_ext(tgtprinc, server->length, server->data,
+                                   sizeof(TGTNAME) - 1, TGTNAME, 
+                                   client->length, client->data,
+                                   0);
 }