projects
/
platform
/
upstream
/
lmdb.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e7f6767
)
Make sure mdb_stat() gets valid data
author
Howard Chu
<hyc@symas.com>
Sat, 8 Jun 2013 21:10:08 +0000
(14:10 -0700)
committer
Howard Chu
<hyc@symas.com>
Sat, 8 Jun 2013 21:10:08 +0000
(14:10 -0700)
libraries/liblmdb/mdb.c
patch
|
blob
|
history
diff --git
a/libraries/liblmdb/mdb.c
b/libraries/liblmdb/mdb.c
index
9e01fb5
..
a90d7d5
100644
(file)
--- a/
libraries/liblmdb/mdb.c
+++ b/
libraries/liblmdb/mdb.c
@@
-7325,6
+7325,12
@@
int mdb_stat(MDB_txn *txn, MDB_dbi dbi, MDB_stat *arg)
if (txn == NULL || arg == NULL || dbi >= txn->mt_numdbs)
return EINVAL;
+ if (txn->mt_dbflags[dbi] & DB_STALE) {
+ MDB_cursor mc;
+ MDB_xcursor mx;
+ /* Stale, must read the DB's root. cursor_init does it for us. */
+ mdb_cursor_init(&mc, txn, dbi, &mx);
+ }
return mdb_stat0(txn->mt_env, &txn->mt_dbs[dbi], arg);
}