tdb->flags = tdb_flags;
tdb->open_flags = open_flags;
tdb->log_fn = log_fn;
+
+ if (!(tdb->name = (char *)strdup(name))) {
+ errno = ENOMEM;
+ goto fail;
+ }
if ((open_flags & O_ACCMODE) == O_WRONLY) {
TDB_LOG((tdb, 0, "tdb_open_ex: can't open tdb %s write-only\n",
goto fail;
}
- /* map the database and fill in the return structure */
- tdb->name = (char *)strdup(name);
- if (!tdb->name) {
- errno = ENOMEM;
- goto fail;
- }
tdb->map_size = st.st_size;
tdb->device = st.st_dev;
tdb->inode = st.st_ino;