[Pkg-db-devel] Bug#521860: Processed: Re: Bug#521860: libpam-modules: libdb upgrade silently breaks pam_userdb.so

Clint Adams schizo at debian.org
Fri Apr 3 06:29:10 UTC 2009


On Thu, Apr 02, 2009 at 09:27:13AM +0000, Debian Bug Tracking System wrote:
> Bug#521860: libpam-modules: libdb upgrade silently breaks pam_userdb.so
> Bug marked as found in version 4.7.25-6.

Possible fix; I'll add more information once I have Internet.

diff --git a/btree/bt_open.c b/btree/bt_open.c
index f03652d..d77c7d6 100644
--- a/btree/bt_open.c
+++ b/btree/bt_open.c
@@ -314,7 +314,7 @@ __bam_read_root(dbp, ip, txn, base_pgno, flags)
 
 		t->bt_meta = base_pgno;
 		t->bt_root = meta->root;
-		if (PGNO(meta) == PGNO_BASE_MD && !F_ISSET(dbp, DB_AM_RECOVER))
+		if (PGNO(meta) == PGNO_BASE_MD && meta->dbmeta.last_pgno > 0 && !F_ISSET(dbp, DB_AM_RECOVER))
 			__memp_set_last_pgno(mpf, meta->dbmeta.last_pgno);
 	} else {
 		DB_ASSERT(dbp->env,
diff --git a/hash/hash_open.c b/hash/hash_open.c
index f5e1d7f..769b583 100644
--- a/hash/hash_open.c
+++ b/hash/hash_open.c
@@ -110,6 +110,7 @@ __ham_open(dbp, ip, txn, name, base_pgno, flags)
 		if (F_ISSET(&hcp->hdr->dbmeta, DB_HASH_SUBDB))
 			F_SET(dbp, DB_AM_SUBDB);
 		if (PGNO(hcp->hdr) == PGNO_BASE_MD &&
+		     hcp->hdr->dbmeta.last_pgno > 0 &&
 		     !F_ISSET(dbp, DB_AM_RECOVER))
 			__memp_set_last_pgno(dbp->mpf,
 			    hcp->hdr->dbmeta.last_pgno);





More information about the Pkg-db-devel mailing list