[FIX] Fix LMDB use-after-free
This commit is contained in:
parent
33139510b9
commit
9fed42d2ac
1 changed files with 2 additions and 1 deletions
|
@ -293,6 +293,7 @@ LMDBUnlock(Db *d, DbRef *r)
|
||||||
Stream *stream;
|
Stream *stream;
|
||||||
MDB_val key, val;
|
MDB_val key, val;
|
||||||
bool ret = true;
|
bool ret = true;
|
||||||
|
DbHint hint = r ? r->hint : 0;
|
||||||
|
|
||||||
if (!d || !r)
|
if (!d || !r)
|
||||||
{
|
{
|
||||||
|
@ -324,7 +325,7 @@ LMDBUnlock(Db *d, DbRef *r)
|
||||||
{
|
{
|
||||||
free(val.mv_data);
|
free(val.mv_data);
|
||||||
}
|
}
|
||||||
if (ret && r->hint == DB_HINT_WRITE)
|
if (ret && hint == DB_HINT_WRITE)
|
||||||
{
|
{
|
||||||
pthread_mutex_unlock(&d->lock);
|
pthread_mutex_unlock(&d->lock);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue