diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index a90d7d5..f52dda7 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -4935,9 +4935,11 @@ fetchm: case MDB_NEXT: case MDB_NEXT_DUP: case MDB_NEXT_NODUP: - if (!(mc->mc_flags & C_INITIALIZED)) + if (!(mc->mc_flags & C_INITIALIZED)) { rc = mdb_cursor_first(mc, key, data); - else + if (rc) + break; + } else rc = mdb_cursor_next(mc, key, data, op); break; case MDB_PREV: @@ -4945,6 +4947,8 @@ fetchm: case MDB_PREV_NODUP: if (!(mc->mc_flags & C_INITIALIZED)) { rc = mdb_cursor_last(mc, key, data); + if (rc) + break; mc->mc_flags |= C_INITIALIZED; mc->mc_ki[mc->mc_top]++; }