diff options
-rw-r--r-- | source3/tdb/tdb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/tdb/tdb.c b/source3/tdb/tdb.c index 955c0b322d..3b0946d580 100644 --- a/source3/tdb/tdb.c +++ b/source3/tdb/tdb.c @@ -1463,11 +1463,12 @@ TDB_CONTEXT *tdb_open_ex(char *name, int hash_size, int tdb_flags, goto fail; /* Is it already in the open list? If so, fail. */ + if (tdb_already_open(st.st_dev, st.st_ino) for (i = tdbs; i; i = i->next) { if (i->device == st.st_dev && i->inode == st.st_ino) { errno = EBUSY; close(tdb->fd); - return NULL; + goto fail; } } |