gpg: Fix endless loop for expired keys given by fpr.

* g10/getkey.c (lookup): Disable keydb caching when continuing a
search.
--

Caches are Fierce Creatures.

Reported-by: Patrick Brunschwig
This commit is contained in:
Werner Koch 2015-07-31 12:02:08 +02:00
parent 23d8609f4b
commit 328a6b6459
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
1 changed files with 5 additions and 0 deletions

View File

@ -2621,6 +2621,11 @@ lookup (getkey_ctx_t ctx, kbnode_t *ret_keyblock, int want_secret)
/* Release resources and continue search. */
release_kbnode (ctx->keyblock);
ctx->keyblock = NULL;
/* We need to disable the caching so that for an exact key search we
won't get the result back from the cache and thus end up in an
endless loop. Disabling this here is sufficient because although
the result may have been cached, if won't be used then. */
keydb_disable_caching (ctx->kr_handle);
}
found: