[FIX] Fix LMDB use-after-free

This commit is contained in:
LDA 2024-09-09 13:05:30 +02:00
parent 33139510b9
commit 9fed42d2ac

View file

@ -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);
} }