summaryrefslogtreecommitdiff
path: root/lib/tdb_wrap
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2021-05-07 07:32:37 +0200
committerJeremy Allison <jra@samba.org>2021-06-04 16:47:34 +0000
commitb6191956899d3a962dbddc19b39d509141774208 (patch)
tree8b59969eaaa0942ae6d74c07fede83982397d0e0 /lib/tdb_wrap
parent87a0a20417cbefaa913e29233280908c198e9fd1 (diff)
downloadsamba-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.c6
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) {