Backport rev 55452:
Whoops, need to pay attention to those test failures.
Move the clear to *before* the first use, not after.
diff --git a/Modules/_bsddb.c b/Modules/_bsddb.c
index f064878..e7613fb 100644
--- a/Modules/_bsddb.c
+++ b/Modules/_bsddb.c
@@ -1706,6 +1706,7 @@
     CHECK_DB_NOT_CLOSED(self);
     if (!make_key_dbt(self, keyobj, &key, NULL))
         return NULL;
+    CLEAR_DBT(data);
     if ( !make_dbt(dataobj, &data) ||
          !checkTxnObj(txnobj, &txn) )
     {
@@ -1713,7 +1714,6 @@
         return NULL;
     }
 
-    CLEAR_DBT(data);
     flags |= DB_GET_BOTH;
 
     if (CHECK_DBFLAG(self, DB_THREAD)) {