From: Jonathan McDowell <noodles@earth.li>
Date: Thu, 23 Sep 2004 12:21:08 +0000 (+0000)
Subject: Fix transaction around id32 updating in DB4 backend.
X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/commitdiff_plain/d7c1eb353d72c8c1955a7dfb842227a18149cb98?ds=sidebyside

Fix transaction around id32 updating in DB4 backend.
For some reason we finished our transaction before we wrote the id32db
details. Fix this so we do it afterwards instead.
---

diff --git a/keydb_db4.c b/keydb_db4.c
index 0d7b46b..0163ed5 100644
--- a/keydb_db4.c
+++ b/keydb_db4.c
@@ -638,10 +638,6 @@ int store_key(struct openpgp_publickey *publickey, bool intrans, bool update)
 		uids = NULL;
 	}
 
-	if (!intrans) {
-		endtrans();
-	}
-
 	/*
 	 * Write the truncated 32 bit keyid so we can lookup the full id for
 	 * queries.
@@ -704,6 +700,10 @@ int store_key(struct openpgp_publickey *publickey, bool intrans, bool update)
 		}
 	}
 
+	if (!intrans) {
+		endtrans();
+	}
+
 	return deadlock ? -1 : 0 ;
 }