aboutsummaryrefslogtreecommitdiff
path: root/src/lib/gssapi/krb5/acquire_cred.c
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2011-07-20 22:40:46 +0000
committerGreg Hudson <ghudson@mit.edu>2011-07-20 22:40:46 +0000
commit057760c30b21a93819abc464113c9d64dd8cfb87 (patch)
treeeeeed0948d1ced0651b7a4f8f38d20d858174b30 /src/lib/gssapi/krb5/acquire_cred.c
parent0afd0d480206673688285de9e97b69b4dcdd5639 (diff)
downloadkrb5-057760c30b21a93819abc464113c9d64dd8cfb87.zip
krb5-057760c30b21a93819abc464113c9d64dd8cfb87.tar.gz
krb5-057760c30b21a93819abc464113c9d64dd8cfb87.tar.bz2
Fix name initialization in gss_krb5int_import_cred
If we're going to fake up a name, we have to initialize its lock. It might be better to use kg_init_name(), but we don't have a context on hand. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25030 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/gssapi/krb5/acquire_cred.c')
-rw-r--r--src/lib/gssapi/krb5/acquire_cred.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/gssapi/krb5/acquire_cred.c b/src/lib/gssapi/krb5/acquire_cred.c
index ca5438b..df029cc 100644
--- a/src/lib/gssapi/krb5/acquire_cred.c
+++ b/src/lib/gssapi/krb5/acquire_cred.c
@@ -834,6 +834,7 @@ gss_krb5int_import_cred(OM_uint32 *minor_status,
struct acquire_cred_args args;
krb5_gss_name_rec name;
OM_uint32 time_rec;
+ krb5_error_code code;
assert(value->length == sizeof(*req));
@@ -846,6 +847,11 @@ gss_krb5int_import_cred(OM_uint32 *minor_status,
if (req->keytab_principal) {
memset(&name, 0, sizeof(name));
+ code = k5_mutex_init(&name.lock);
+ if (code != 0) {
+ *minor_status = code;
+ return GSS_S_FAILURE;
+ }
name.princ = req->keytab_principal;
args.desired_name = (gss_name_t)&name;
}