Fix leak in kadm5_flush with LDAP KDB
authorTomas Kuthan <tkuthan@gmail.com>
Wed, 2 Apr 2014 15:48:04 +0000 (17:48 +0200)
committerGreg Hudson <ghudson@mit.edu>
Fri, 4 Apr 2014 17:59:36 +0000 (13:59 -0400)
Due to an inverted test in adb_policy_init, kadm5_flush calls
krb5_db_open twice.  With the DB2 KDB module, the second open is a
no-op, but with the LDAP module, a new DB handle is allocated and the
old one is leaked.

[ghudson@mit.edu: rewrote commit message]

ticket: 7897 (new)
target_version: 1.12.2
tags: pullup

src/lib/kadm5/srv/server_misc.c

index 30a0b5abdac4853354f379f64f24974094fab797..18d047b995ed3da8b178b67667a8448d5df383e9 100644 (file)
@@ -38,7 +38,7 @@ kadm5_ret_t
 adb_policy_init(kadm5_server_handle_t handle)
 {
     /* now policy is initialized as part of database. No seperate call needed */
-    if( krb5_db_inited( handle->context ) )
+    if (krb5_db_inited(handle->context) == 0)
         return KADM5_OK;
 
     return krb5_db_open( handle->context, NULL,