From cb8df17ff8e59192ae2ab864006eea120d408a7a Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 20 Oct 2025 19:41:57 +0200 Subject: Add some comments and tests around Keep-Fd ordering --- apt-pkg/contrib/fileutl.cc | 1 + test/integration/test-close-range | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 50b983924..7f785f21c 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -899,6 +899,7 @@ pid_t ExecFork() return ExecFork(KeepFDs); } +// Keep in mind that KeepFDs must be ordered for close_range() to work. pid_t ExecFork(std::set KeepFDs) { // Fork off the process diff --git a/test/integration/test-close-range b/test/integration/test-close-range index 977c4cf0a..108fdea2d 100755 --- a/test/integration/test-close-range +++ b/test/integration/test-close-range @@ -23,3 +23,10 @@ close_range(6, 4294967295)" apthelper drop-privs -o APT::Keep-Fds::=3 -o APT::Ke testsuccessequal "close_range(4, 4) close_range(7, 4294967295)" apthelper drop-privs -o APT::Keep-Fds::=3 -o APT::Keep-Fds::=5 -o APT::Keep-Fds::=6 -o Debug::CloseRange=1 true + +# Check with reverse order +testsuccessequal "close_range(4, 5) +close_range(7, 4294967295)" apthelper drop-privs -o APT::Keep-Fds::=6 -o APT::Keep-Fds::=3 -o Debug::CloseRange=1 true + +testsuccessequal "close_range(3, 4) +close_range(7, 4294967295)" apthelper drop-privs -o APT::Keep-Fds::=6 -o APT::Keep-Fds::=5 -o Debug::CloseRange=1 true -- cgit v1.2.3-70-g09d2