mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-31 02:49:28 -05:00
Update fixes for dbi_open/close, ITS#7515.
Reset me_dbflags[dbi] when closing DBI, to get rid of MDB_VALID flag. mdb_env_close(): Re-fix DB-name memleak. DBIs > me_numdbs may exist.
This commit is contained in:
parent
21da623bf4
commit
151c416b46
1 changed files with 3 additions and 1 deletions
|
|
@ -2003,6 +2003,7 @@ mdb_txn_reset0(MDB_txn *txn)
|
|||
char *ptr = env->me_dbxs[i].md_name.mv_data;
|
||||
env->me_dbxs[i].md_name.mv_data = NULL;
|
||||
env->me_dbxs[i].md_name.mv_size = 0;
|
||||
env->me_dbflags[i] = 0;
|
||||
free(ptr);
|
||||
}
|
||||
}
|
||||
|
|
@ -3761,7 +3762,7 @@ mdb_env_close(MDB_env *env)
|
|||
if (env == NULL)
|
||||
return;
|
||||
|
||||
for (i = env->me_numdbs; --i > MAIN_DBI; )
|
||||
for (i = env->me_maxdbs; --i > MAIN_DBI; )
|
||||
free(env->me_dbxs[i].md_name.mv_data);
|
||||
|
||||
VGMEMP_DESTROY(env);
|
||||
|
|
@ -7226,6 +7227,7 @@ void mdb_dbi_close(MDB_env *env, MDB_dbi dbi)
|
|||
ptr = env->me_dbxs[dbi].md_name.mv_data;
|
||||
env->me_dbxs[dbi].md_name.mv_data = NULL;
|
||||
env->me_dbxs[dbi].md_name.mv_size = 0;
|
||||
env->me_dbflags[dbi] = 0;
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue