[Pkg-gnupg-commit] [gnupg2] 01/160: g10: Fix another race condition for trustdb access.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Fri Jul 15 09:36:30 UTC 2016


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch upstream
in repository gnupg2.

commit 35a3ce2acf78a95fecbccfd8db0560cca24232df
Author: Niibe Yutaka <gniibe at fsij.org>
Date:   Wed Jun 15 08:41:56 2016 +0900

    g10: Fix another race condition for trustdb access.
    
    * g10/tdbio.c (create_version_record): Call create_hashtable to always
    make hashtable, together with the version record.
    (get_trusthashrec): Remove call to create_hashtable.
    
    --
    
    GnuPG-bug-id: 1675
    Thanks to Scott Moser for a reproducible script and patience.
    
    Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>
---
 g10/tdbio.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/g10/tdbio.c b/g10/tdbio.c
index a414709..e27788e 100644
--- a/g10/tdbio.c
+++ b/g10/tdbio.c
@@ -119,6 +119,7 @@ static int in_transaction;
 
 

 static void open_db (void);
+static void create_hashtable (TRUSTREC *vr, int type);
 
 
 

@@ -582,8 +583,13 @@ create_version_record (void)
   rec.rectype = RECTYPE_VER;
   rec.recnum = 0;
   rc = tdbio_write_record (&rec);
+
   if (!rc)
     tdbio_sync ();
+
+  if (!rc)
+    create_hashtable (&rec, 0);
+
   return rc;
 }
 
@@ -957,8 +963,6 @@ get_trusthashrec(void)
       if (rc)
         log_fatal (_("%s: error reading version record: %s\n"),
                    db_name, gpg_strerror (rc) );
-      if (!vr.r.ver.trusthashtbl)
-        create_hashtable (&vr, 0);
 
       trusthashtbl = vr.r.ver.trusthashtbl;
     }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git



More information about the Pkg-gnupg-commit mailing list