X-Git-Url: http://git.samba.org/samba.git/?p=ira%2Fwip.git;a=blobdiff_plain;f=lib%2Ftdb%2Fcommon%2Fcheck.c;h=6bbfd7d82aceecc4114395a2d61619e373525f2e;hp=94240bbed1b0711e9d7a1d3b84d194b10827f0a6;hb=caaf5c6baa1a4f340c1f38edd99b3a8b56621b8b;hpb=022b4d4aa6861c1e3e6d76484d92555221cb6d14 diff --git a/lib/tdb/common/check.c b/lib/tdb/common/check.c index 94240bbed1b..6bbfd7d82ac 100644 --- a/lib/tdb/common/check.c +++ b/lib/tdb/common/check.c @@ -63,7 +63,7 @@ corrupt: /* Generic record header check. */ static bool tdb_check_record(struct tdb_context *tdb, tdb_off_t off, - const struct list_struct *rec) + const struct tdb_record *rec) { tdb_off_t tailer; @@ -228,7 +228,7 @@ static void record_offset(unsigned char bits[], tdb_off_t off) /* Check that an in-use record is valid. */ static bool tdb_check_used_record(struct tdb_context *tdb, tdb_off_t off, - const struct list_struct *rec, + const struct tdb_record *rec, unsigned char **hashes, int (*check)(TDB_DATA, TDB_DATA, void *), void *private_data) @@ -287,7 +287,7 @@ fail_put_key: /* Check that an unused record is valid. */ static bool tdb_check_free_record(struct tdb_context *tdb, tdb_off_t off, - const struct list_struct *rec, + const struct tdb_record *rec, unsigned char **hashes) { if (!tdb_check_record(tdb, off, rec)) @@ -308,7 +308,7 @@ int tdb_check(struct tdb_context *tdb, unsigned int h; unsigned char **hashes; tdb_off_t off, recovery_start; - struct list_struct rec; + struct tdb_record rec; bool found_recovery = false; if (tdb_lockall(tdb) == -1) @@ -329,7 +329,8 @@ int tdb_check(struct tdb_context *tdb, } /* One big malloc: pointers then bit arrays. */ - hashes = calloc(1, sizeof(hashes[0]) * (1+tdb->header.hash_size) + hashes = (unsigned char **)calloc( + 1, sizeof(hashes[0]) * (1+tdb->header.hash_size) + BITMAP_BITS / CHAR_BIT * (1+tdb->header.hash_size)); if (!hashes) { tdb->ecode = TDB_ERR_OOM; @@ -369,7 +370,7 @@ int tdb_check(struct tdb_context *tdb, goto free; break; case TDB_RECOVERY_MAGIC: - case 0: /* Used for invalid (or in-progress) recovery area. */ + case TDB_RECOVERY_INVALID_MAGIC: if (recovery_start != off) { TDB_LOG((tdb, TDB_DEBUG_ERROR, "Unexpected recovery record at offset %d\n",