X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Fcheck.c;fp=ccan%2Ftdb2%2Fcheck.c;h=52fb188764dfa0e2c85250e3658200db2fc67894;hp=88b86429cb97aed7a2486f53a7699626d7fc3041;hb=024a5647e6c81735a93d826b56db0db4bf86fab8;hpb=a8b30ad4dcea31c68ca809d2a6e6e4c7c6c30398 diff --git a/ccan/tdb2/check.c b/ccan/tdb2/check.c index 88b86429..52fb1887 100644 --- a/ccan/tdb2/check.c +++ b/ccan/tdb2/check.c @@ -533,11 +533,13 @@ static enum TDB_ERROR check_free_table(struct tdb_context *tdb, h = bucket_off(ftable_off, i); for (off = tdb_read_off(tdb, h); off; off = f.next) { - if (!first) - first = off; if (TDB_OFF_IS_ERR(off)) { return off; } + if (!first) { + off &= TDB_OFF_MASK; + first = off; + } ecode = tdb_read_convert(tdb, off, &f, sizeof(f)); if (ecode != TDB_SUCCESS) { return ecode;