From 9fed42d2acb7f7a1ec3487c96fcc70729ca9dfd9 Mon Sep 17 00:00:00 2001 From: LDA Date: Mon, 9 Sep 2024 13:05:30 +0200 Subject: [PATCH] [FIX] Fix LMDB use-after-free --- src/Db/LMDB.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Db/LMDB.c b/src/Db/LMDB.c index 044c439..f1c743c 100644 --- a/src/Db/LMDB.c +++ b/src/Db/LMDB.c @@ -293,6 +293,7 @@ LMDBUnlock(Db *d, DbRef *r) Stream *stream; MDB_val key, val; bool ret = true; + DbHint hint = r ? r->hint : 0; if (!d || !r) { @@ -324,7 +325,7 @@ LMDBUnlock(Db *d, DbRef *r) { free(val.mv_data); } - if (ret && r->hint == DB_HINT_WRITE) + if (ret && hint == DB_HINT_WRITE) { pthread_mutex_unlock(&d->lock); } -- 2.45.2