From 11d8ffc939a4d20cfb0082b2d966b1e1a7d61f8d Mon Sep 17 00:00:00 2001
From: "Neal H. Walfield" <neal@g10code.com>
Date: Mon, 31 Aug 2015 09:22:23 +0200
Subject: [PATCH] g10: Have keydb_search_first call keydb_search_reset before
 searching.

* g10/keydb.c (keydb_search_first): Reset the handle before starting
the search.

--
Signed-off-by: Neal H. Walfield <neal@g10code.com>.

This bug hasn't shown up yet in practice, because keydb_search_first
is always called immediately after a keydb_new.  This changes cleans
up the semantics and will hopefully prevent future bugs.
---
 g10/keydb.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/g10/keydb.c b/g10/keydb.c
index c97687132..ea3280f26 100644
--- a/g10/keydb.c
+++ b/g10/keydb.c
@@ -1731,6 +1731,10 @@ keydb_search_first (KEYDB_HANDLE hd)
   gpg_error_t err;
   KEYDB_SEARCH_DESC desc;
 
+  err = keydb_search_reset (hd);
+  if (err)
+    return err;
+
   memset (&desc, 0, sizeof desc);
   desc.mode = KEYDB_SEARCH_MODE_FIRST;
   err = keydb_search (hd, &desc, 1, NULL);