- /* Header is not valid for open lock; valgrind complains. */
- if (offset >= TDB_HASH_LOCK_START) {
- if (offset > TDB_HASH_LOCK_START
- + (1ULL << tdb->header.v.hash_bits)
- + (tdb->header.v.num_zones
- * (tdb->header.v.free_buckets+1))) {
- tdb->ecode = TDB_ERR_LOCK;
- tdb->log(tdb, TDB_DEBUG_FATAL, tdb->log_priv,
- "tdb_lock: invalid offset %llu ltype=%d\n",
- (long long)offset, ltype);
- return -1;
- }
+ if (offset >= TDB_HASH_LOCK_START + TDB_HASH_LOCK_RANGE + tdb->map_size / 8) {
+ tdb->ecode = TDB_ERR_LOCK;
+ tdb->log(tdb, TDB_DEBUG_FATAL, tdb->log_priv,
+ "tdb_lock: invalid offset %llu ltype=%d\n",
+ (long long)offset, ltype);
+ return -1;