diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-03-28 18:35:07 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-03-28 18:35:07 +0200 |
commit | 9acd63c92cbc4bd0a3ddbb6a61e512eadc29239d (patch) | |
tree | 9bf53c82f5fccd4a5ed13915b8039080c563ce07 /shell/hush_test | |
parent | e4defe826be49b8ef19912ba4cb291bfe9166e0f (diff) | |
download | busybox-9acd63c92cbc4bd0a3ddbb6a61e512eadc29239d.tar.gz |
ash,hush: fix "saved" redirected fds still visible in children
Based on a patch by Mark Marshall <mark.marshall@omicronenergy.com>
function old new delta
dup_CLOEXEC - 49 +49
fcntl_F_DUPFD 46 - -46
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test')
6 files changed, 33 insertions, 0 deletions
diff --git a/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_1.right b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_1.right new file mode 100644 index 000000000..46ab7f5d1 --- /dev/null +++ b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_1.right @@ -0,0 +1,5 @@ +/proc/self/fd +/proc/self/fd/0 +/proc/self/fd/1 +/proc/self/fd/2 +/proc/self/fd/3 diff --git a/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_1.tests b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_1.tests new file mode 100755 index 000000000..544c810e3 --- /dev/null +++ b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_1.tests @@ -0,0 +1,6 @@ +# The "find" should not see "saved" (duplicated) fd #1 +# Explicitly use bbox find, since other implementations of "find" +# may open other descriptors as well. +busybox find /proc/self/fd >tmp_$$.out +cat tmp_$$.out +rm -f tmp_$$.out diff --git a/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_2.right b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_2.right new file mode 100644 index 000000000..46ab7f5d1 --- /dev/null +++ b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_2.right @@ -0,0 +1,5 @@ +/proc/self/fd +/proc/self/fd/0 +/proc/self/fd/1 +/proc/self/fd/2 +/proc/self/fd/3 diff --git a/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_2.tests b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_2.tests new file mode 100755 index 000000000..43777cade --- /dev/null +++ b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_2.tests @@ -0,0 +1,6 @@ +# The "find" should not see "saved" (duplicated) fd #1 +# Explicitly use bbox find, since other implementations of "find" +# may open other descriptors as well. +{ busybox find /proc/self/fd; } >tmp_$$.out +cat tmp_$$.out +rm -f tmp_$$.out diff --git a/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_3.right b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_3.right new file mode 100644 index 000000000..46ab7f5d1 --- /dev/null +++ b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_3.right @@ -0,0 +1,5 @@ +/proc/self/fd +/proc/self/fd/0 +/proc/self/fd/1 +/proc/self/fd/2 +/proc/self/fd/3 diff --git a/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_3.tests b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_3.tests new file mode 100755 index 000000000..0a21173bd --- /dev/null +++ b/shell/hush_test/hush-redir/redir_children_should_not_see_saved_fd_3.tests @@ -0,0 +1,6 @@ +# The "find" should not see "saved" (duplicated) fd #1 +# Explicitly use bbox find, since other implementations of "find" +# may open other descriptors as well. +{ busybox find /proc/self/fd; true; } >tmp_$$.out +cat tmp_$$.out +rm -f tmp_$$.out |