chiark / gitweb /
Import gnupg2_2.1.18-8~deb9u1.debian.tar.bz2
[gnupg2.git] / patches / 0074-g10-invalidate-the-fd-cache-for-keyring.patch
1 From: NIIBE Yutaka <gniibe@fsij.org>
2 Date: Tue, 25 Apr 2017 07:48:51 +0900
3 Subject: g10: invalidate the fd cache for keyring.
4
5 * g10/keyring.c (keyring_search_reset): Don't keep the FD cache.
6
7 --
8
9 GnuPG-bug-id: 3096
10 Fixes-commit: 5556eca5acd46983bff0b38a1ffbc2f07fbaba9f
11 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
12 (cherry picked from commit 116cfd60779fbb3540da629db54dc2e148f4a3a2)
13 ---
14  g10/keyring.c | 7 ++++++-
15  1 file changed, 6 insertions(+), 1 deletion(-)
16
17 diff --git a/g10/keyring.c b/g10/keyring.c
18 index 328290e..d75fdbc 100644
19 --- a/g10/keyring.c
20 +++ b/g10/keyring.c
21 @@ -692,7 +692,6 @@ keyring_search_reset (KEYRING_HANDLE hd)
22  {
23      log_assert (hd);
24  
25 -    hd->current.kr = NULL;
26      iobuf_close (hd->current.iobuf);
27      hd->current.iobuf = NULL;
28      hd->current.eof = 0;
29 @@ -700,6 +699,12 @@ keyring_search_reset (KEYRING_HANDLE hd)
30  
31      hd->found.kr = NULL;
32      hd->found.offset = 0;
33 +
34 +    if (hd->current.kr)
35 +      iobuf_ioctl (NULL, IOBUF_IOCTL_INVALIDATE_CACHE, 0,
36 +                   (char*)hd->current.kr->fname);
37 +    hd->current.kr = NULL;
38 +
39      return 0;
40  }
41