summaryrefslogtreecommitdiffstats
path: root/src/lib/kdb
diff options
context:
space:
mode:
authorNicolas Williams <nico@cryptonector.com>2012-10-03 17:22:12 -0500
committerGreg Hudson <ghudson@mit.edu>2012-10-08 11:38:37 -0400
commite41971145349e1f55b6cb3336c014bd8edcb22da (patch)
treef76d4c7a0f805a6008cd5271a82a3b8b195c8988 /src/lib/kdb
parentb6bbb7615e2e9078118996876719f67d2abc0867 (diff)
downloadkrb5-e41971145349e1f55b6cb3336c014bd8edcb22da.tar.gz
krb5-e41971145349e1f55b6cb3336c014bd8edcb22da.tar.xz
krb5-e41971145349e1f55b6cb3336c014bd8edcb22da.zip
krb5_db_delete_principal() can fail to unlock ulog
Not really: only when the KDB backend lacks a delete method. Still. ticket: 7403
Diffstat (limited to 'src/lib/kdb')
-rw-r--r--src/lib/kdb/kdb5.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/kdb/kdb5.c b/src/lib/kdb/kdb5.c
index 3cf116b76e..d02bb5025b 100644
--- a/src/lib/kdb/kdb5.c
+++ b/src/lib/kdb/kdb5.c
@@ -986,8 +986,10 @@ krb5_db_delete_principal(krb5_context kcontext, krb5_principal search_for)
free(princ_name);
}
- if (v->delete_principal == NULL)
+ if (v->delete_principal == NULL) {
+ ulog_lock(kcontext, KRB5_LOCKMODE_UNLOCK);
return KRB5_PLUGIN_OP_NOTSUPP;
+ }
status = v->delete_principal(kcontext, search_for);