diff options
Diffstat (limited to '')
-rw-r--r-- | g10/keyring.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/g10/keyring.c b/g10/keyring.c index 898136b05..f8b6e1520 100644 --- a/g10/keyring.c +++ b/g10/keyring.c @@ -1326,6 +1326,10 @@ keyring_rebuild_cache (void *token) memset (&desc, 0, sizeof desc); desc.mode = KEYDB_SEARCH_MODE_FIRST; + rc=keyring_lock (hd, 1); + if(rc) + goto leave; + while ( !(rc = keyring_search (hd, &desc, 1, NULL)) ) { desc.mode = KEYDB_SEARCH_MODE_NEXT; @@ -1420,6 +1424,7 @@ keyring_rebuild_cache (void *token) m_free (tmpfilename); m_free (bakfilename); release_kbnode (keyblock); + keyring_lock (hd, 0); keyring_release (hd); return rc; } |