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 cc99926..34604ed 100644
--- a/Modules/_bsddb.c
+++ b/Modules/_bsddb.c
@@ -1724,6 +1724,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) )
{
@@ -1731,7 +1732,6 @@
return NULL;
}
- CLEAR_DBT(data);
flags |= DB_GET_BOTH;
if (CHECK_DBFLAG(self, DB_THREAD)) {