summaryrefslogtreecommitdiffstats
path: root/g10/getkey.c
diff options
context:
space:
mode:
authorJustus Winter <justus@g10code.com>2016-11-15 15:33:09 +0100
committerJustus Winter <justus@g10code.com>2016-11-15 15:38:09 +0100
commit12834e84aca9d74800245f0f2f2e6b5123e76173 (patch)
tree4e976327e68c15200b2561f5044d3722e431667c /g10/getkey.c
parentg10: Fix memory leak. (diff)
downloadgnupg2-12834e84aca9d74800245f0f2f2e6b5123e76173.tar.xz
gnupg2-12834e84aca9d74800245f0f2f2e6b5123e76173.zip
g10: Optimize key iteration.
* g10/getkey.c (get_best_pubkey_byname): Use the node returned by 'getkey_next' instead of doing another lookup. Signed-off-by: Justus Winter <justus@g10code.com>
Diffstat (limited to 'g10/getkey.c')
-rw-r--r--g10/getkey.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/g10/getkey.c b/g10/getkey.c
index 7bc5c88e7..5792302fc 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -1593,9 +1593,9 @@ get_best_pubkey_byname (ctrl_t ctrl, GETKEY_CTX *retctx, PKT_public_key *pk,
{
/* Rank results and return only the most relevant key. */
struct pubkey_cmp_cookie best = { 0 }, new;
- while (getkey_next (ctx, &new.key, NULL) == 0)
+ KBNODE new_keyblock;
+ while (getkey_next (ctx, &new.key, &new_keyblock) == 0)
{
- KBNODE new_keyblock = get_pubkeyblock (pk_keyid (&new.key));
int diff = pubkey_cmp (ctrl, name, &best, &new, new_keyblock);
release_kbnode (new_keyblock);
if (diff < 0)