commit:     ed78ac22b3feaef6da70a0113a1efad16342c815
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  9 05:31:11 2025 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun Mar  9 18:22:22 2025 +0000
URL:        https://gitweb.gentoo.org/proj/sandbox.git/commit/?id=ed78ac22

libsandbox: use closefrom()

Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 configure.ac       | 1 +
 libsandbox/trace.c | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/configure.ac b/configure.ac
index b3c19d9..1d102fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -171,6 +171,7 @@ AC_CHECK_FUNCS_ONCE(m4_flatten([
        backtrace
        clone
        __clone2
+       closefrom
        creat64
        faccessat
        fchmodat

diff --git a/libsandbox/trace.c b/libsandbox/trace.c
index b9a9470..e685ea4 100644
--- a/libsandbox/trace.c
+++ b/libsandbox/trace.c
@@ -526,6 +526,9 @@ static void trace_loop(void)
 
 static void close_all_fds(void)
 {
+#ifdef HAVE_CLOSEFROM
+       closefrom(0);
+#else
        DIR *dirp;
        struct dirent *de;
        int dfd, fd;
@@ -545,6 +548,7 @@ static void close_all_fds(void)
        }
 
        closedir(dirp);
+#endif
 }
 
 void trace_main(void)

Reply via email to