summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1994-01-13 23:51:06 +0000
committerTheodore Tso <tytso@mit.edu>1994-01-13 23:51:06 +0000
commit0428dd40843d3f41cdb5d27d3f9652f3117996b7 (patch)
treea32a0b3d108fc219c9364b3ba7677796ece7aa4a /src
parenta897191dd4c4eee5fe03b8054fe4cd711ea17478 (diff)
downloadkrb5-0428dd40843d3f41cdb5d27d3f9652f3117996b7.tar.gz
krb5-0428dd40843d3f41cdb5d27d3f9652f3117996b7.tar.xz
krb5-0428dd40843d3f41cdb5d27d3f9652f3117996b7.zip
Fixed for newly enforced memory handling convention in the Kerberos
library (for the credentials structure). git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3328 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/gssapi/krb5/init_sec_context.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/lib/gssapi/krb5/init_sec_context.c b/src/lib/gssapi/krb5/init_sec_context.c
index a62a286d6..9f3c80d1c 100644
--- a/src/lib/gssapi/krb5/init_sec_context.c
+++ b/src/lib/gssapi/krb5/init_sec_context.c
@@ -72,8 +72,14 @@ make_ap_req(krb5_gss_cred_id_t cred,
/* fill in the necessary fields in creds */
memset((char *) &creds, 0, sizeof(creds));
- creds.client = cred->princ;
- creds.server = server;
+
+ code = krb5_copy_principal(cred->princ, &creds.client);
+ if (code)
+ return code;
+
+ code = krb5_copy_principal(server, &creds.server);
+ if (code)
+ return code;
creds.times.endtime = *endtime;
@@ -91,11 +97,6 @@ make_ap_req(krb5_gss_cred_id_t cred,
/* free stuff which was created */
- /* XXXX There's a bug in krb5 here, but I have no clue what it is.
- This is a workaround. */
- if (creds.client == cred->princ)
- creds.client = NULL;
-
krb5_free_cred_contents(&creds);
/* build up the token */