summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kdc/kdc_authdata.c7
-rw-r--r--src/kdc/kdc_preauth.c7
-rw-r--r--src/lib/kdb/kdb_default.c11
3 files changed, 13 insertions, 12 deletions
diff --git a/src/kdc/kdc_authdata.c b/src/kdc/kdc_authdata.c
index a8f9241ea8..9fd37f2d6b 100644
--- a/src/kdc/kdc_authdata.c
+++ b/src/kdc/kdc_authdata.c
@@ -140,20 +140,17 @@ static struct plugin_dir_handle authdata_plugins;
krb5_error_code
load_authdata_plugins(krb5_context context)
{
- struct errinfo err;
void **authdata_plugins_ftables = NULL;
struct krb5plugin_authdata_ftable_v0 *ftable = NULL;
size_t module_count;
int i, k;
init_proc server_init_proc = NULL;
- memset(&err, 0, sizeof(err));
-
/* Attempt to load all of the authdata plugins we can find. */
PLUGIN_DIR_INIT(&authdata_plugins);
if (PLUGIN_DIR_OPEN(&authdata_plugins) == 0) {
if (krb5int_open_plugin_dirs(objdirs, NULL,
- &authdata_plugins, &err) != 0) {
+ &authdata_plugins, &context->err) != 0) {
return KRB5_PLUGIN_NO_HANDLE;
}
}
@@ -163,7 +160,7 @@ load_authdata_plugins(krb5_context context)
n_authdata_systems = 0;
if (krb5int_get_plugin_dir_data(&authdata_plugins,
"authdata_server_0",
- &authdata_plugins_ftables, &err) != 0) {
+ &authdata_plugins_ftables, &context->err) != 0) {
return KRB5_PLUGIN_NO_HANDLE;
}
diff --git a/src/kdc/kdc_preauth.c b/src/kdc/kdc_preauth.c
index 9fd8d8d98f..c7655ab0d9 100644
--- a/src/kdc/kdc_preauth.c
+++ b/src/kdc/kdc_preauth.c
@@ -321,7 +321,6 @@ static struct plugin_dir_handle preauth_plugins;
krb5_error_code
load_preauth_plugins(krb5_context context)
{
- struct errinfo err;
void **preauth_plugins_ftables;
struct krb5plugin_preauth_server_ftable_v1 *ftable;
int module_count, i, j, k;
@@ -329,13 +328,11 @@ load_preauth_plugins(krb5_context context)
preauth_server_init_proc server_init_proc = NULL;
char **kdc_realm_names = NULL;
- memset(&err, 0, sizeof(err));
-
/* Attempt to load all of the preauth plugins we can find. */
PLUGIN_DIR_INIT(&preauth_plugins);
if (PLUGIN_DIR_OPEN(&preauth_plugins) == 0) {
if (krb5int_open_plugin_dirs(objdirs, NULL,
- &preauth_plugins, &err) != 0) {
+ &preauth_plugins, &context->err) != 0) {
return KRB5_PLUGIN_NO_HANDLE;
}
}
@@ -344,7 +341,7 @@ load_preauth_plugins(krb5_context context)
preauth_plugins_ftables = NULL;
if (krb5int_get_plugin_dir_data(&preauth_plugins,
"preauthentication_server_1",
- &preauth_plugins_ftables, &err) != 0) {
+ &preauth_plugins_ftables, &context->err) != 0) {
return KRB5_PLUGIN_NO_HANDLE;
}
diff --git a/src/lib/kdb/kdb_default.c b/src/lib/kdb/kdb_default.c
index f7a855b729..78d06a300e 100644
--- a/src/lib/kdb/kdb_default.c
+++ b/src/lib/kdb/kdb_default.c
@@ -145,7 +145,7 @@ krb5_def_store_mkey(krb5_context context,
char *tmp_ktname = NULL, *tmp_ktpath;
krb5_data *realm = krb5_princ_realm(context, mname);
#ifndef LEAN_CLIENT
- krb5_keytab kt;
+ krb5_keytab kt = NULL;
krb5_keytab_entry new_entry;
#endif /* LEAN_CLIENT */
struct stat stb;
@@ -226,6 +226,10 @@ krb5_def_store_mkey(krb5_context context,
out:
if (tmp_ktname != NULL)
free(tmp_ktname);
+#ifndef LEAN_CLIENT
+ if (kt)
+ krb5_kt_close(context, kt);
+#endif
return retval;
}
@@ -319,7 +323,7 @@ krb5_db_def_fetch_mkey_keytab(krb5_context context,
krb5_kvno *kvno)
{
krb5_error_code retval = 0;
- krb5_keytab kt;
+ krb5_keytab kt = NULL;
krb5_keytab_entry kt_ent;
krb5_enctype enctype = IGNORE_ENCTYPE;
@@ -369,6 +373,9 @@ krb5_db_def_fetch_mkey_keytab(krb5_context context,
}
errout:
+ if (kt)
+ krb5_kt_close(context, kt);
+
return retval;
}
#endif /* LEAN_CLIENT */