tdb2: cleanup oob handling.
[ccan] / ccan / tdb2 / open.c
index daa83a334c44a39db4dad37c77e0090fee858769..fec3ef1596a562c90c6c40588265b0e05c93ed20 100644 (file)
@@ -561,7 +561,9 @@ struct tdb_context *tdb_open(const char *name, int tdb_flags,
        tdb_unlock_open(tdb, openlock);
 
        /* This make sure we have current map_size and mmap. */
-       tdb->methods->oob(tdb, tdb->file->map_size + 1, true);
+       ecode = tdb->methods->oob(tdb, tdb->file->map_size + 1, true);
+       if (unlikely(ecode != TDB_SUCCESS))
+               goto fail;
 
        /* Now it's fully formed, recover if necessary. */
        berr = tdb_needs_recovery(tdb);