diff options
Diffstat (limited to 'meta/recipes-extended/bash/bash')
4 files changed, 49 insertions, 316 deletions
diff --git a/meta/recipes-extended/bash/bash/CVE-2016-9401.patch b/meta/recipes-extended/bash/bash/CVE-2016-9401.patch deleted file mode 100644 index 28c927743c..0000000000 --- a/meta/recipes-extended/bash/bash/CVE-2016-9401.patch +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | From fa741771ed47b30547be63b5b5dbfb51977aca12 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chet Ramey <chet.ramey@case.edu> | ||
3 | Date: Fri, 20 Jan 2017 11:47:31 -0500 | ||
4 | Subject: [PATCH] Bash-4.4 patch 6 | ||
5 | |||
6 | Bug-Reference-URL: | ||
7 | https://lists.gnu.org/archive/html/bug-bash/2016-11/msg00116.html | ||
8 | |||
9 | Reference to upstream patch: | ||
10 | https://ftp.gnu.org/pub/gnu/bash/bash-4.4-patches/bash44-006 | ||
11 | |||
12 | Bug-Description: | ||
13 | Out-of-range negative offsets to popd can cause the shell to crash attempting | ||
14 | to free an invalid memory block. | ||
15 | |||
16 | Upstream-Status: Backport | ||
17 | CVE: CVE-2016-9401 | ||
18 | Signed-off-by: Li Zhou <li.zhou@windriver.com> | ||
19 | --- | ||
20 | builtins/pushd.def | 7 ++++++- | ||
21 | 1 file changed, 6 insertions(+), 1 deletion(-) | ||
22 | |||
23 | diff --git a/builtins/pushd.def b/builtins/pushd.def | ||
24 | index 9c6548f..8a13bae 100644 | ||
25 | --- a/builtins/pushd.def | ||
26 | +++ b/builtins/pushd.def | ||
27 | @@ -359,7 +359,7 @@ popd_builtin (list) | ||
28 | break; | ||
29 | } | ||
30 | |||
31 | - if (which > directory_list_offset || (directory_list_offset == 0 && which == 0)) | ||
32 | + if (which > directory_list_offset || (which < -directory_list_offset) || (directory_list_offset == 0 && which == 0)) | ||
33 | { | ||
34 | pushd_error (directory_list_offset, which_word ? which_word : ""); | ||
35 | return (EXECUTION_FAILURE); | ||
36 | @@ -381,6 +381,11 @@ popd_builtin (list) | ||
37 | remove that directory from the list and shift the remainder | ||
38 | of the list into place. */ | ||
39 | i = (direction == '+') ? directory_list_offset - which : which; | ||
40 | + if (i < 0 || i > directory_list_offset) | ||
41 | + { | ||
42 | + pushd_error (directory_list_offset, which_word ? which_word : ""); | ||
43 | + return (EXECUTION_FAILURE); | ||
44 | + } | ||
45 | free (pushd_directory_list[i]); | ||
46 | directory_list_offset--; | ||
47 | |||
48 | -- | ||
49 | 1.9.1 | ||
50 | |||
diff --git a/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch b/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch index 7f099ae0c6..9ac2461ab6 100644 --- a/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch +++ b/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch | |||
@@ -1,15 +1,7 @@ | |||
1 | From 2c30dff8ea8b17ad5ba9881e35ad1eba9c515f13 Mon Sep 17 00:00:00 2001 | 1 | From d1cd4c31ea0ed7406a3ad4bdaa211f581063f655 Mon Sep 17 00:00:00 2001 |
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | 2 | From: Hongxu Jia <hongxu.jia@windriver.com> |
3 | Date: Thu, 26 Nov 2015 22:09:07 -0500 | 3 | Date: Tue, 15 Aug 2017 10:21:21 +0800 |
4 | Subject: [PATCH] fix run-coproc/run-heredoc/run-execscript/run-test/ failed | 4 | Subject: [PATCH 2/2] fix run-execscript/run-test/ failed |
5 | |||
6 | FAIL: run-coproc | ||
7 | update test case:tests/coproc.right, tests/coproc.tests | ||
8 | git://git.sv.gnu.org/bash.git bash-4.4-testing | ||
9 | |||
10 | FAIL: run-heredoc | ||
11 | update test case: tests/heredoc.right tests/heredoc3.sub | ||
12 | git://git.sv.gnu.org/bash.git bash-4.4-testing | ||
13 | 5 | ||
14 | FAIL: run-execscript: | 6 | FAIL: run-execscript: |
15 | the test suite should not be run as root | 7 | the test suite should not be run as root |
@@ -21,149 +13,33 @@ Upstream-Status: Pending | |||
21 | 13 | ||
22 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | 14 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
23 | --- | 15 | --- |
24 | tests/coproc.right | 5 +---- | 16 | tests/run-execscript | 3 ++- |
25 | tests/coproc.tests | 30 +++++++++++++++++++++++++----- | 17 | tests/run-test | 3 ++- |
26 | tests/heredoc.right | 5 ++--- | 18 | 2 files changed, 4 insertions(+), 2 deletions(-) |
27 | tests/heredoc3.sub | 3 ++- | ||
28 | tests/run-execscript | 3 ++- | ||
29 | tests/run-test | 3 ++- | ||
30 | 6 files changed, 34 insertions(+), 15 deletions(-) | ||
31 | 19 | ||
32 | diff --git a/tests/coproc.right b/tests/coproc.right | ||
33 | index 6d9deaa..94b001c 100644 | ||
34 | --- a/tests/coproc.right | ||
35 | +++ b/tests/coproc.right | ||
36 | @@ -1,11 +1,8 @@ | ||
37 | -84575 | ||
38 | 63 60 | ||
39 | a b c | ||
40 | -84577 | ||
41 | 63 60 | ||
42 | flop | ||
43 | -./coproc.tests: line 22: 84577 Terminated coproc REFLECT { cat -; } | ||
44 | -84579 | ||
45 | +coproc.tests: REFLECT: status 143 | ||
46 | 63 60 | ||
47 | FOO | ||
48 | 63 60 | ||
49 | diff --git a/tests/coproc.tests b/tests/coproc.tests | ||
50 | index 8be3563..d347eb7 100644 | ||
51 | --- a/tests/coproc.tests | ||
52 | +++ b/tests/coproc.tests | ||
53 | @@ -1,6 +1,13 @@ | ||
54 | +: ${TMPDIR:=/tmp} | ||
55 | +TMPOUT=${TMPDIR}/coproc-wait-$BASHPID | ||
56 | + | ||
57 | coproc { echo a b c; sleep 2; } | ||
58 | |||
59 | -echo $COPROC_PID | ||
60 | +case $COPROC_PID in | ||
61 | +[0-9]*) ;; | ||
62 | +*) echo COPROC_PID not integer ;; | ||
63 | +esac | ||
64 | + | ||
65 | echo ${COPROC[@]} | ||
66 | |||
67 | read LINE <&${COPROC[0]} | ||
68 | @@ -10,7 +17,11 @@ wait $COPROC_PID | ||
69 | |||
70 | coproc REFLECT { cat - ; } | ||
71 | |||
72 | -echo $REFLECT_PID | ||
73 | +case $REFLECT_PID in | ||
74 | +[0-9]*) ;; | ||
75 | +*) echo REFLECT_PID not integer ;; | ||
76 | +esac | ||
77 | + | ||
78 | echo ${REFLECT[@]} | ||
79 | |||
80 | echo flop >&${REFLECT[1]} | ||
81 | @@ -18,12 +29,21 @@ read LINE <&${REFLECT[0]} | ||
82 | |||
83 | echo $LINE | ||
84 | |||
85 | -kill $REFLECT_PID | ||
86 | -wait $REFLECT_PID | ||
87 | +{ sleep 1; kill $REFLECT_PID; } & | ||
88 | +wait $REFLECT_PID >$TMPOUT 2>&1 || echo "coproc.tests: REFLECT: status $?" | ||
89 | +grep 'Terminated.*coproc.*REFLECT' < $TMPOUT >/dev/null 2>&1 || { | ||
90 | + echo "coproc.tests: wait for REFLECT failed" >&2 | ||
91 | +} | ||
92 | +rm -f $TMPOUT | ||
93 | +exec 2>&1 | ||
94 | |||
95 | coproc xcase -n -u | ||
96 | |||
97 | -echo $COPROC_PID | ||
98 | +case $COPROC_PID in | ||
99 | +[0-9]*) ;; | ||
100 | +*) echo COPROC_PID not integer ;; | ||
101 | +esac | ||
102 | + | ||
103 | echo ${COPROC[@]} | ||
104 | |||
105 | echo foo >&${COPROC[1]} | ||
106 | diff --git a/tests/heredoc.right b/tests/heredoc.right | ||
107 | index 6abaa1f..8df91c5 100644 | ||
108 | --- a/tests/heredoc.right | ||
109 | +++ b/tests/heredoc.right | ||
110 | @@ -76,15 +76,14 @@ ENDEND | ||
111 | end ENDEND | ||
112 | hello | ||
113 | end hello | ||
114 | -x star x | ||
115 | end x*x | ||
116 | helloEND | ||
117 | end helloEND | ||
118 | hello | ||
119 | \END | ||
120 | end hello<NL>\END | ||
121 | -./heredoc3.sub: line 74: warning: here-document at line 72 delimited by end-of-file (wanted `EOF') | ||
122 | -./heredoc3.sub: line 75: syntax error: unexpected end of file | ||
123 | +./heredoc3.sub: line 75: warning: here-document at line 73 delimited by end-of-file (wanted `EOF') | ||
124 | +./heredoc3.sub: line 76: syntax error: unexpected end of file | ||
125 | comsub here-string | ||
126 | ./heredoc.tests: line 105: warning: here-document at line 103 delimited by end-of-file (wanted `EOF') | ||
127 | hi | ||
128 | diff --git a/tests/heredoc3.sub b/tests/heredoc3.sub | ||
129 | index 73a111e..9d3d846 100644 | ||
130 | --- a/tests/heredoc3.sub | ||
131 | +++ b/tests/heredoc3.sub | ||
132 | @@ -49,9 +49,10 @@ hello | ||
133 | END | ||
134 | echo end hello | ||
135 | |||
136 | -cat <<x*x & touch 'x*x' | ||
137 | +cat <<x*x >/dev/null & touch 'x*x' | ||
138 | x star x | ||
139 | x*x | ||
140 | +wait $! | ||
141 | echo end 'x*x' | ||
142 | rm 'x*x' | ||
143 | |||
144 | diff --git a/tests/run-execscript b/tests/run-execscript | 20 | diff --git a/tests/run-execscript b/tests/run-execscript |
145 | index f97ab21..0d00a1b 100644 | 21 | index de78644..38397c1 100644 |
146 | --- a/tests/run-execscript | 22 | --- a/tests/run-execscript |
147 | +++ b/tests/run-execscript | 23 | +++ b/tests/run-execscript |
148 | @@ -5,5 +5,6 @@ echo "warning: \`/tmp/bash-notthere' not being found or \`/' being a directory" | 24 | @@ -5,5 +5,6 @@ echo "warning: \`/tmp/bash-notthere' not being found or \`/' being a directory" |
149 | echo "warning: produce diff output, please do not consider this a test failure" >&2 | 25 | echo "warning: produce diff output, please do not consider this a test failure" >&2 |
150 | echo "warning: if diff output differing only in the location of the bash" >&2 | 26 | echo "warning: if diff output differing only in the location of the bash" >&2 |
151 | echo "warning: binary appears, please do not consider this a test failure" >&2 | 27 | echo "warning: binary appears, please do not consider this a test failure" >&2 |
152 | -${THIS_SH} ./execscript > /tmp/xx 2>&1 | 28 | -${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1 |
153 | +rm -f /tmp/xx | 29 | +rm -f ${BASH_TSTOUT} |
154 | +su -c "${THIS_SH} ./execscript > /tmp/xx 2>&1" test | 30 | +su -c "${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1" test |
155 | diff /tmp/xx exec.right && rm -f /tmp/xx | 31 | diff ${BASH_TSTOUT} exec.right && rm -f ${BASH_TSTOUT} |
156 | diff --git a/tests/run-test b/tests/run-test | 32 | diff --git a/tests/run-test b/tests/run-test |
157 | index b2482c3..2e8f049 100644 | 33 | index d68791c..d6317d2 100644 |
158 | --- a/tests/run-test | 34 | --- a/tests/run-test |
159 | +++ b/tests/run-test | 35 | +++ b/tests/run-test |
160 | @@ -1,4 +1,5 @@ | 36 | @@ -1,4 +1,5 @@ |
161 | unset GROUPS UID 2>/dev/null | 37 | unset GROUPS UID 2>/dev/null |
162 | 38 | ||
163 | -${THIS_SH} ./test.tests >/tmp/xx 2>&1 | 39 | -${THIS_SH} ./test.tests >${BASH_TSTOUT} 2>&1 |
164 | +rm -f /tmp/xx | 40 | +rm -f ${BASH_TSTOUT} |
165 | +su -c "${THIS_SH} ./test.tests >/tmp/xx 2>&1" test | 41 | +su -c "${THIS_SH} ./test.tests > ${BASH_TSTOUT} 2>&1" test |
166 | diff /tmp/xx test.right && rm -f /tmp/xx | 42 | diff ${BASH_TSTOUT} test.right && rm -f ${BASH_TSTOUT} |
167 | -- | 43 | -- |
168 | 1.9.1 | 44 | 1.8.3.1 |
169 | 45 | ||
diff --git a/meta/recipes-extended/bash/bash/fix-run-intl.patch b/meta/recipes-extended/bash/bash/fix-run-intl.patch deleted file mode 100644 index d4a3409ec6..0000000000 --- a/meta/recipes-extended/bash/bash/fix-run-intl.patch +++ /dev/null | |||
@@ -1,110 +0,0 @@ | |||
1 | From a00d3161fd7b6a698bdd2ed5f0ac5faac580ee2a Mon Sep 17 00:00:00 2001 | ||
2 | From: Dengke Du <dengke.du@windriver.com> | ||
3 | Date: Wed, 3 Aug 2016 23:13:00 -0400 | ||
4 | Subject: [PATCH] fix run-intl failed | ||
5 | |||
6 | 1. Filter extra white space of intl.right | ||
7 | |||
8 | Due to the extra white space of intl.right, when the result of | ||
9 | sub-test unicode2.sub of intl.tests compared to it, the test | ||
10 | failed. | ||
11 | |||
12 | So we need to filter the extra white space of intl.right. | ||
13 | |||
14 | Import this patch for intl.right from bash devel branch: | ||
15 | |||
16 | http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel | ||
17 | |||
18 | commit is: | ||
19 | |||
20 | 85ec0778f9d778e1820fb8c0e3e996f2d1103b45 | ||
21 | |||
22 | 2. Change intl.right correspond to the unicode3.sub's output | ||
23 | |||
24 | In sub-test unicode3.sub of intl.tests, the payload value is: | ||
25 | |||
26 | payload=$'\065\247\100\063\231\053\306\123\070\237\242\352\263' | ||
27 | |||
28 | It used quoted string expansion(escaped octal) to assign ASCII | ||
29 | characters to variables. So when the test run the following: | ||
30 | |||
31 | printf %q "$payload" | ||
32 | |||
33 | It produced: | ||
34 | |||
35 | $'5\247@3\231+\306S8\237\242\352\263' | ||
36 | |||
37 | When compared to the intl.right(contain the converted character), it failed. | ||
38 | |||
39 | Import parts of patch for intl.right from bash devel branch: | ||
40 | |||
41 | http://git.savannah.gnu.org/cgit/bash.git/log/?h=devel | ||
42 | |||
43 | commit is: | ||
44 | |||
45 | 74b8cbb41398b4453d8ba04d0cdd1b25f9dcb9e3 | ||
46 | |||
47 | Upstream-Status: Backport | ||
48 | |||
49 | Signed-off-by: Dengke Du <dengke.du@windriver.com> | ||
50 | --- | ||
51 | tests/intl.right | 30 +++++++++++++++--------------- | ||
52 | 1 file changed, 15 insertions(+), 15 deletions(-) | ||
53 | |||
54 | diff --git a/tests/intl.right b/tests/intl.right | ||
55 | index acf108a..1efdfbe 100644 | ||
56 | --- a/tests/intl.right | ||
57 | +++ b/tests/intl.right | ||
58 | @@ -18,34 +18,34 @@ aéb | ||
59 | 1.0000 | ||
60 | 1,0000 | ||
61 | Passed all 1378 Unicode tests | ||
62 | -0000000 303 277 012 | ||
63 | +0000000 303 277 012 | ||
64 | 0000003 | ||
65 | -0000000 303 277 012 | ||
66 | +0000000 303 277 012 | ||
67 | 0000003 | ||
68 | -0000000 303 277 012 | ||
69 | +0000000 303 277 012 | ||
70 | 0000003 | ||
71 | -0000000 303 277 012 | ||
72 | +0000000 303 277 012 | ||
73 | 0000003 | ||
74 | -0000000 357 277 277 012 | ||
75 | +0000000 357 277 277 012 | ||
76 | 0000004 | ||
77 | -0000000 357 277 277 012 | ||
78 | +0000000 357 277 277 012 | ||
79 | 0000004 | ||
80 | -0000000 012 | ||
81 | +0000000 012 | ||
82 | 0000001 | ||
83 | -0000000 012 | ||
84 | +0000000 012 | ||
85 | 0000001 | ||
86 | -0000000 012 | ||
87 | +0000000 012 | ||
88 | 0000001 | ||
89 | -0000000 012 | ||
90 | +0000000 012 | ||
91 | 0000001 | ||
92 | -0000000 303 277 012 | ||
93 | +0000000 303 277 012 | ||
94 | 0000003 | ||
95 | -0000000 303 277 012 | ||
96 | +0000000 303 277 012 | ||
97 | 0000003 | ||
98 | -0000000 303 277 012 | ||
99 | +0000000 303 277 012 | ||
100 | 0000003 | ||
101 | -0000000 101 040 302 243 040 305 222 012 | ||
102 | +0000000 101 040 302 243 040 305 222 012 | ||
103 | 0000010 | ||
104 | ./unicode3.sub: line 2: 5§@3™+ÆS8Ÿ¢ê³: command not found | ||
105 | -5§@3™+ÆS8Ÿ¢ê³ | ||
106 | +$'5\247@3\231+\306S8\237\242\352\263' | ||
107 | + : $'5\247@3\231+\306S8\237\242\352\263' | ||
108 | -- | ||
109 | 2.8.1 | ||
110 | |||
diff --git a/meta/recipes-extended/bash/bash/test-output.patch b/meta/recipes-extended/bash/bash/test-output.patch index 2b09b7d977..0ffcc24587 100644 --- a/meta/recipes-extended/bash/bash/test-output.patch +++ b/meta/recipes-extended/bash/bash/test-output.patch | |||
@@ -1,25 +1,42 @@ | |||
1 | Add FAIL/PASS output to test output. | 1 | From 28eb06047ebd2deaa8c7cd2bf6655ef6a469dc14 Mon Sep 17 00:00:00 2001 |
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
3 | Date: Tue, 15 Aug 2017 10:01:56 +0800 | ||
4 | Subject: [PATCH 1/2] Add FAIL/PASS output to test output. | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
2 | 8 | ||
3 | Signed-off-by: Björn Stenberg <bjst@enea.com> | 9 | Signed-off-by: Björn Stenberg <bjst@enea.com> |
4 | Upstream-Status: Pending | 10 | Upstream-Status: Pending |
11 | |||
12 | Rebase to 4.4 | ||
13 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
5 | --- | 14 | --- |
6 | diff -uNr a/tests/run-all b/tests/run-all | 15 | tests/run-all | 11 ++++++++++- |
7 | --- a/tests/run-all 1999-10-08 17:07:46.000000000 +0200 | 16 | 1 file changed, 10 insertions(+), 1 deletion(-) |
8 | +++ b/tests/run-all 2012-10-27 21:04:18.663331887 +0200 | 17 | |
9 | @@ -22,7 +22,15 @@ | 18 | diff --git a/tests/run-all b/tests/run-all |
19 | index 2882fe0..e21d026 100644 | ||
20 | --- a/tests/run-all | ||
21 | +++ b/tests/run-all | ||
22 | @@ -33,7 +33,16 @@ do | ||
10 | case $x in | 23 | case $x in |
11 | $0|run-minimal|run-gprof) ;; | 24 | $0|run-minimal|run-gprof) ;; |
12 | *.orig|*~) ;; | 25 | *.orig|*~) ;; |
13 | - *) echo $x ; sh $x ;; | 26 | - *) echo $x ; sh $x ; rm -f ${BASH_TSTOUT} ;; |
14 | + *) echo $x | 27 | + *) echo $x |
15 | + output=`sh $x` | 28 | + output=`sh $x` |
16 | + if [ -n "$output" ]; then | 29 | + if [ -n "$output" ]; then |
17 | + echo "$output" | 30 | + echo "$output" |
18 | + echo "FAIL: $x" | 31 | + echo "FAIL: $x" |
19 | + else | 32 | + else |
20 | + echo "PASS: $x" | 33 | + echo "PASS: $x" |
21 | + fi | 34 | + fi |
22 | + ;; | 35 | + rm -f ${BASH_TSTOUT} |
36 | + ;; | ||
23 | esac | 37 | esac |
24 | done | 38 | done |
25 | 39 | ||
40 | -- | ||
41 | 1.8.3.1 | ||
42 | |||