summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2004-11-26 06:03:24 +0000
committerKen Raeburn <raeburn@mit.edu>2004-11-26 06:03:24 +0000
commitb72a5d25e68d9bc2eecacffba5563eaa5c429ba0 (patch)
treeb26507823dc390a285227e5866821b4b9190d7cc /src/lib
parent2d28078f72851c6f111ce50d78331603f1a2011f (diff)
downloadkrb5-b72a5d25e68d9bc2eecacffba5563eaa5c429ba0.tar.gz
krb5-b72a5d25e68d9bc2eecacffba5563eaa5c429ba0.tar.xz
krb5-b72a5d25e68d9bc2eecacffba5563eaa5c429ba0.zip
fix missing mutex initialization in keytab file code
Missed a case in the checked-in (and pulled-up) fix to 2781. * kt_file.c (krb5_ktfile_wresolve): Initialize mutex here too. ticket: new status: open target_version: 1.4 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16908 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/keytab/ChangeLog4
-rw-r--r--src/lib/krb5/keytab/kt_file.c8
2 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/krb5/keytab/ChangeLog b/src/lib/krb5/keytab/ChangeLog
index 7e8186c6e..7907333e0 100644
--- a/src/lib/krb5/keytab/ChangeLog
+++ b/src/lib/krb5/keytab/ChangeLog
@@ -1,3 +1,7 @@
+2004-11-26 Ken Raeburn <raeburn@mit.edu>
+
+ * kt_file.c (krb5_ktfile_wresolve): Initialize mutex here too.
+
2004-11-23 Ken Raeburn <raeburn@mit.edu>
* kt_file.c (struct _krb5_ktfile_data): Add mutex and buffer.
diff --git a/src/lib/krb5/keytab/kt_file.c b/src/lib/krb5/keytab/kt_file.c
index fc33af54a..6fb9f7b36 100644
--- a/src/lib/krb5/keytab/kt_file.c
+++ b/src/lib/krb5/keytab/kt_file.c
@@ -793,6 +793,7 @@ krb5_error_code KRB5_CALLCONV
krb5_ktfile_wresolve(krb5_context context, const char *name, krb5_keytab *id)
{
krb5_ktfile_data *data;
+ krb5_error_code err;
if ((*id = (krb5_keytab) malloc(sizeof(**id))) == NULL)
return(ENOMEM);
@@ -803,7 +804,14 @@ krb5_ktfile_wresolve(krb5_context context, const char *name, krb5_keytab *id)
return(ENOMEM);
}
+ err = k5_mutex_init(&data->lock);
+ if (err) {
+ krb5_xfree(*id);
+ return err;
+ }
+
if ((data->name = (char *)calloc(strlen(name) + 1, sizeof(char))) == NULL) {
+ k5_mutex_destroy(&data->lock);
krb5_xfree(data);
krb5_xfree(*id);
return(ENOMEM);