diff options
author | Volker Lendecke <vl@samba.org> | 2021-05-07 07:32:37 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2021-06-04 16:47:34 +0000 |
commit | b6191956899d3a962dbddc19b39d509141774208 (patch) | |
tree | 8b59969eaaa0942ae6d74c07fede83982397d0e0 /lib/tdb_wrap | |
parent | 87a0a20417cbefaa913e29233280908c198e9fd1 (diff) | |
download | samba-b6191956899d3a962dbddc19b39d509141774208.tar.gz |
lib: Open tdb files with O_CLOEXEC
After an exec() the fd's don't make sense anymore
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'lib/tdb_wrap')
-rw-r--r-- | lib/tdb_wrap/tdb_wrap.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/tdb_wrap/tdb_wrap.c b/lib/tdb_wrap/tdb_wrap.c index 864656f2047..49585aa0b9f 100644 --- a/lib/tdb_wrap/tdb_wrap.c +++ b/lib/tdb_wrap/tdb_wrap.c @@ -20,6 +20,7 @@ */ #include "replace.h" +#include "system/filesys.h" #include "lib/util/dlinklist.h" #include "lib/util/debug.h" #include "tdb_wrap.h" @@ -100,6 +101,11 @@ static struct tdb_wrap_private *tdb_wrap_private_open(TALLOC_CTX *mem_ctx, /* Doesn't fail, see talloc_pooled_object */ result->name = talloc_strdup(result, name); + /* + * TDB files don't make sense after execve() + */ + open_flags |= O_CLOEXEC; + result->tdb = tdb_open_ex(name, hash_size, tdb_flags, open_flags, mode, &lctx, NULL); if (result->tdb == NULL) { |