diff --git a/src/engine/postingdb.cpp b/src/engine/postingdb.cpp --- a/src/engine/postingdb.cpp +++ b/src/engine/postingdb.cpp @@ -127,10 +127,14 @@ key.mv_data = static_cast(const_cast(term.constData())); MDB_cursor* cursor; - mdb_cursor_open(m_txn, m_dbi, &cursor); - + int rc = mdb_cursor_open(m_txn, m_dbi, &cursor); + if (rc) { + qCWarning(ENGINE) << "PostingDB::fetchTermsStartingWith" << mdb_strerror(rc); + return {}; + } + QVector terms; - int rc = mdb_cursor_get(cursor, &key, nullptr, MDB_SET_RANGE); + rc = mdb_cursor_get(cursor, &key, nullptr, MDB_SET_RANGE); while (rc == 0) { const QByteArray arr(static_cast(key.mv_data), key.mv_size); if (!arr.startsWith(term)) { @@ -213,12 +217,17 @@ key.mv_data = static_cast(const_cast(prefix.constData())); MDB_cursor* cursor; - mdb_cursor_open(m_txn, m_dbi, &cursor); + int rc = mdb_cursor_open(m_txn, m_dbi, &cursor); + + if (rc) { + qCWarning(ENGINE) << "PostingDB::regexpIter" << mdb_strerror(rc); + return nullptr; + } QVector termIterators; MDB_val val; - int rc = mdb_cursor_get(cursor, &key, &val, MDB_SET_RANGE); + rc = mdb_cursor_get(cursor, &key, &val, MDB_SET_RANGE); while (rc == 0) { const QByteArray arr(static_cast(key.mv_data), key.mv_size); if (!arr.startsWith(prefix)) {