]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Clean up context after failed open in libkdb5 1198/head
authorGreg Hudson <ghudson@mit.edu>
Wed, 23 Jun 2021 20:57:39 +0000 (16:57 -0400)
committerGreg Hudson <ghudson@mit.edu>
Mon, 28 Jun 2021 15:51:35 +0000 (11:51 -0400)
If krb5_db_open() or krb5_db_create() fails, release the dal_handle,
as the caller is unlikely to call krb5_db_close() after a failure.

src/lib/kdb/kdb5.c

index 47e9b31a7b353d4d7d63aaa061d5508f9318a120..11e2430c43e8addccd8140b55bdd4d9a7e867a15 100644 (file)
@@ -675,6 +675,8 @@ krb5_db_open(krb5_context kcontext, char **db_args, int mode)
         return status;
     status = v->init_module(kcontext, section, db_args, mode);
     free(section);
+    if (status)
+        (void)krb5_db_fini(kcontext);
     return status;
 }
 
@@ -702,6 +704,8 @@ krb5_db_create(krb5_context kcontext, char **db_args)
         return status;
     status = v->create(kcontext, section, db_args);
     free(section);
+    if (status)
+        (void)krb5_db_fini(kcontext);
     return status;
 }