diff options
author | Denys Vlasenko | 2021-10-11 18:39:25 +0200 |
---|---|---|
committer | Denys Vlasenko | 2021-10-11 18:44:00 +0200 |
commit | 5acf5e1f870fb5382556d4b434158f7d497893ca (patch) | |
tree | 9200222f648afe4c743c119712e66e38d58e1713 /shell | |
parent | 23aba8a9a66637fbc6b1eed2a259cb7ddb1a1595 (diff) | |
download | busybox-5acf5e1f870fb5382556d4b434158f7d497893ca.zip busybox-5acf5e1f870fb5382556d4b434158f7d497893ca.tar.gz |
shell: fix script's comm field if ENABLE_FEATURE_PREFER_APPLETS=y
function old new delta
re_execed_comm - 46 +46
main 72 86 +14
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/0 up/down: 60/0) Total: 60 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash_test/ash-comm/comm.right | 6 | ||||
-rwxr-xr-x | shell/ash_test/ash-comm/comm.tests | 20 | ||||
-rw-r--r-- | shell/hush_test/hush-comm/comm.right | 6 | ||||
-rwxr-xr-x | shell/hush_test/hush-comm/comm.tests | 20 |
4 files changed, 52 insertions, 0 deletions
diff --git a/shell/ash_test/ash-comm/comm.right b/shell/ash_test/ash-comm/comm.right new file mode 100644 index 0000000..1d83665 --- /dev/null +++ b/shell/ash_test/ash-comm/comm.right @@ -0,0 +1,6 @@ +./SCRIPT.sh: + /proc/N/comm: SCRIPT.sh +exec ./SCRIPT.sh: + /proc/N/comm: SCRIPT.sh +sh ./SCRIPT.sh: + /proc/N/comm: ash diff --git a/shell/ash_test/ash-comm/comm.tests b/shell/ash_test/ash-comm/comm.tests new file mode 100755 index 0000000..671bfc1 --- /dev/null +++ b/shell/ash_test/ash-comm/comm.tests @@ -0,0 +1,20 @@ +{ +echo "#!$THIS_SH" +echo 'procdir=/proc/$$' +#echo 'echo " /proc/N/exe: $(basename $(readlink $procdir/exe))"' +echo 'echo " /proc/N/comm: $(cat $procdir/comm)"' +} >SCRIPT.sh +chmod 755 SCRIPT.sh + +# comm field was wrong if CONFIG_FEATURE_PREFER_APPLETS=y +echo './SCRIPT.sh:' +./SCRIPT.sh + +# comm field was wrong if CONFIG_FEATURE_PREFER_APPLETS=y +echo 'exec ./SCRIPT.sh:' +(exec ./SCRIPT.sh) + +echo 'sh ./SCRIPT.sh:' +$THIS_SH ./SCRIPT.sh + +rm SCRIPT.sh diff --git a/shell/hush_test/hush-comm/comm.right b/shell/hush_test/hush-comm/comm.right new file mode 100644 index 0000000..1b62b61 --- /dev/null +++ b/shell/hush_test/hush-comm/comm.right @@ -0,0 +1,6 @@ +./SCRIPT.sh: + /proc/N/comm: SCRIPT.sh +exec ./SCRIPT.sh: + /proc/N/comm: SCRIPT.sh +sh ./SCRIPT.sh: + /proc/N/comm: hush diff --git a/shell/hush_test/hush-comm/comm.tests b/shell/hush_test/hush-comm/comm.tests new file mode 100755 index 0000000..671bfc1 --- /dev/null +++ b/shell/hush_test/hush-comm/comm.tests @@ -0,0 +1,20 @@ +{ +echo "#!$THIS_SH" +echo 'procdir=/proc/$$' +#echo 'echo " /proc/N/exe: $(basename $(readlink $procdir/exe))"' +echo 'echo " /proc/N/comm: $(cat $procdir/comm)"' +} >SCRIPT.sh +chmod 755 SCRIPT.sh + +# comm field was wrong if CONFIG_FEATURE_PREFER_APPLETS=y +echo './SCRIPT.sh:' +./SCRIPT.sh + +# comm field was wrong if CONFIG_FEATURE_PREFER_APPLETS=y +echo 'exec ./SCRIPT.sh:' +(exec ./SCRIPT.sh) + +echo 'sh ./SCRIPT.sh:' +$THIS_SH ./SCRIPT.sh + +rm SCRIPT.sh |