diff --git a/libraries/libmdb/mdb.c b/libraries/libmdb/mdb.c
index 2db10eab34a8d4c1f4b6ac7d01b98ccc88bb2233..d1184d11a19cb709454021879ac57e4eed18a2d2 100644
--- a/libraries/libmdb/mdb.c
+++ b/libraries/libmdb/mdb.c
@@ -1604,7 +1604,8 @@ mdb_txn_renew0(MDB_txn *txn)
 	for (i=2; i<txn->mt_numdbs; i++)
 		txn->mt_dbs[i].md_flags = env->me_dbflags[i];
 	txn->mt_dbflags[0] = txn->mt_dbflags[1] = 0;
-	memset(txn->mt_dbflags+2, DB_STALE, env->me_numdbs-2);
+	if (txn->mt_numdbs > 2)
+		memset(txn->mt_dbflags+2, DB_STALE, txn->mt_numdbs-2);
 
 	return MDB_SUCCESS;
 }
@@ -1906,7 +1907,7 @@ mdb_txn_commit(MDB_txn *txn)
 	/* Update DB root pointers. Their pages have already been
 	 * touched so this is all in-place and cannot fail.
 	 */
-	{
+	if (txn->mt_numdbs > 2) {
 		MDB_dbi i;
 		MDB_val data;
 		data.mv_size = sizeof(MDB_db);
@@ -3357,10 +3358,10 @@ mdb_cursor_adjust(MDB_cursor *mc, func)
 static void
 mdb_cursor_pop(MDB_cursor *mc)
 {
-	MDB_page	*top;
-
 	if (mc->mc_snum) {
-		top = mc->mc_pg[mc->mc_top];
+#if MDB_DEBUG
+		MDB_page	*top = mc->mc_pg[mc->mc_top];
+#endif
 		mc->mc_snum--;
 		if (mc->mc_snum)
 			mc->mc_top--;
@@ -3835,7 +3836,7 @@ mdb_cursor_set(MDB_cursor *mc, MDB_val *key, MDB_val *data,
 {
 	int		 rc;
 	MDB_page	*mp;
-	MDB_node	*leaf;
+	MDB_node	*leaf = NULL;
 	DKBUF;
 
 	assert(mc);
diff --git a/libraries/libmdb/mdb.h b/libraries/libmdb/mdb.h
index 21b84a593da8512ec5d78eaa926e043f0f3ddc01..ea857a01074aca17da61113874c314bbec985365 100644
--- a/libraries/libmdb/mdb.h
+++ b/libraries/libmdb/mdb.h
@@ -80,7 +80,7 @@ extern "C" {
 /** Library minor version */
 #define MDB_VERSION_MINOR	9
 /** Library patch version */
-#define MDB_VERSION_PATCH	0
+#define MDB_VERSION_PATCH	2
 
 /** Combine args a,b,c into a single integer for easy version comparisons */
 #define MDB_VERINT(a,b,c)	(((a) << 24) | ((b) << 16) | (c))
@@ -90,10 +90,10 @@ extern "C" {
 	MDB_VERINT(MDB_VERSION_MAJOR,MDB_VERSION_MINOR,MDB_VERSION_PATCH)
 
 /** The release date of this library version */
-#define MDB_VERSION_DATE	"September 1, 2011"
+#define MDB_VERSION_DATE	"August 2, 2012"
 
 /** A stringifier for the version info */
-#define MDB_VERSTR(a,b,c,d)	"MDB " #a "." #b "." #c ": (" #d ")"
+#define MDB_VERSTR(a,b,c,d)	"MDB " #a "." #b "." #c ": (" d ")"
 
 /** A helper for the stringifier macro */
 #define MDB_VERFOO(a,b,c,d)	MDB_VERSTR(a,b,c,d)