Full_Name: Salvador Ortiz Version: 24 OS: Linux URL: Submission from: (NULL) (187.162.45.111)
The API allows to set the flags of the unnamed db (MAIN_DBI), but try to get them back fails with EINVAL.
The fix is trivial:
--- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -7871,7 +7871,7 @@ void mdb_dbi_close(MDB_env *env, MDB_dbi dbi) int mdb_dbi_flags(MDB_env *env, MDB_dbi dbi, unsigned int *flags) { /* We could return the flags for the FREE_DBI too but what's the point? */ - if (dbi <= MAIN_DBI || dbi >= env->me_numdbs) + if (dbi < MAIN_DBI || dbi >= env->me_numdbs) return EINVAL; *flags = env->me_dbflags[dbi]; return MDB_SUCCESS;