diff options
author | Werner Koch <[email protected]> | 2016-05-21 10:49:12 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-05-21 10:51:18 +0000 |
commit | 006a6126131ffd59d9a47889ac031f932ecc5d0b (patch) | |
tree | 3a22e5977e8fddac3d6c7ed1e2c4a17034965d44 | |
parent | gpg: Remove debug output accidently introduced with 027c4e5. (diff) | |
download | gnupg-006a6126131ffd59d9a47889ac031f932ecc5d0b.tar.gz gnupg-006a6126131ffd59d9a47889ac031f932ecc5d0b.zip |
gpg: Explicitly close a combined Tofu DB.
* g10/tofu.c (tofu_closedbs): Close combined DB.
-rw-r--r-- | g10/tofu.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/g10/tofu.c b/g10/tofu.c index 314c76bbd..8c639db1c 100644 --- a/g10/tofu.c +++ b/g10/tofu.c @@ -84,8 +84,8 @@ enum db_type theis case, NAME is either the normalized email address or the fingerprint. - To initialize this data structure, call opendbs(). When you are - done, clean it up using closedbs(). To get a handle to a database, + To initialize this data structure, call opendbs(). Cleanup is done + when the CTRL object is released. To get a handle to a database, use the getdb() function. This will either return an existing handle or open a new DB connection, as appropriate. */ struct db @@ -1063,7 +1063,12 @@ tofu_closedbs (ctrl_t ctrl) if (!dbs) return; /* Not initialized. */ - if (dbs->db) + if (dbs->db && dbs->db->type == DB_COMBINED) + { + log_assert (!dbs->db->next); + closedb (dbs->db); + } + else if (dbs->db) { struct db *old_head = db_cache; struct db *db; |