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/ash_test | |
parent | e4defe826be49b8ef19912ba4cb291bfe9166e0f (diff) | |
download | busybox-w32-9acd63c92cbc4bd0a3ddbb6a61e512eadc29239d.tar.gz busybox-w32-9acd63c92cbc4bd0a3ddbb6a61e512eadc29239d.tar.bz2 busybox-w32-9acd63c92cbc4bd0a3ddbb6a61e512eadc29239d.zip |
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/ash_test')
6 files changed, 33 insertions, 0 deletions
diff --git a/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_1.right b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_1.right new file mode 100644 index 000000000..46ab7f5d1 --- /dev/null +++ b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_1.right | |||
@@ -0,0 +1,5 @@ | |||
1 | /proc/self/fd | ||
2 | /proc/self/fd/0 | ||
3 | /proc/self/fd/1 | ||
4 | /proc/self/fd/2 | ||
5 | /proc/self/fd/3 | ||
diff --git a/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_1.tests b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_1.tests new file mode 100755 index 000000000..544c810e3 --- /dev/null +++ b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_1.tests | |||
@@ -0,0 +1,6 @@ | |||
1 | # The "find" should not see "saved" (duplicated) fd #1 | ||
2 | # Explicitly use bbox find, since other implementations of "find" | ||
3 | # may open other descriptors as well. | ||
4 | busybox find /proc/self/fd >tmp_$$.out | ||
5 | cat tmp_$$.out | ||
6 | rm -f tmp_$$.out | ||
diff --git a/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_2.right b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_2.right new file mode 100644 index 000000000..46ab7f5d1 --- /dev/null +++ b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_2.right | |||
@@ -0,0 +1,5 @@ | |||
1 | /proc/self/fd | ||
2 | /proc/self/fd/0 | ||
3 | /proc/self/fd/1 | ||
4 | /proc/self/fd/2 | ||
5 | /proc/self/fd/3 | ||
diff --git a/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_2.tests b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_2.tests new file mode 100755 index 000000000..43777cade --- /dev/null +++ b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_2.tests | |||
@@ -0,0 +1,6 @@ | |||
1 | # The "find" should not see "saved" (duplicated) fd #1 | ||
2 | # Explicitly use bbox find, since other implementations of "find" | ||
3 | # may open other descriptors as well. | ||
4 | { busybox find /proc/self/fd; } >tmp_$$.out | ||
5 | cat tmp_$$.out | ||
6 | rm -f tmp_$$.out | ||
diff --git a/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_3.right b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_3.right new file mode 100644 index 000000000..46ab7f5d1 --- /dev/null +++ b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_3.right | |||
@@ -0,0 +1,5 @@ | |||
1 | /proc/self/fd | ||
2 | /proc/self/fd/0 | ||
3 | /proc/self/fd/1 | ||
4 | /proc/self/fd/2 | ||
5 | /proc/self/fd/3 | ||
diff --git a/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_3.tests b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_3.tests new file mode 100755 index 000000000..0a21173bd --- /dev/null +++ b/shell/ash_test/ash-redir/redir_children_should_not_see_saved_fd_3.tests | |||
@@ -0,0 +1,6 @@ | |||
1 | # The "find" should not see "saved" (duplicated) fd #1 | ||
2 | # Explicitly use bbox find, since other implementations of "find" | ||
3 | # may open other descriptors as well. | ||
4 | { busybox find /proc/self/fd; true; } >tmp_$$.out | ||
5 | cat tmp_$$.out | ||
6 | rm -f tmp_$$.out | ||