<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/shell/ash_test, branch 1_36_0</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=1_36_0</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=1_36_0'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2022-08-02T09:18:11+00:00</updated>
<entry>
<title>ash: fix ifs cleanup on error paths</title>
<updated>2022-08-02T09:18:11+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2022-08-02T09:13:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1c5455284234e894dfb6086bf7f3e9a6d5d9611f'/>
<id>urn:sha1:1c5455284234e894dfb6086bf7f3e9a6d5d9611f</id>
<content type='text'>
Patch by Alex Gorinson &lt;algore3698@gmail.com&gt;

function                                             old     new   delta
evalvar                                              477     495     +18
varvalue                                             603     618     +15
subevalvar                                          1557    1572     +15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 48/0)               Total: 48 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: don't read past end of var in subvareval for bash substitutions</title>
<updated>2022-03-01T07:47:43+00:00</updated>
<author>
<name>Sören Tempel</name>
<email>soeren@soeren-tempel.net</email>
</author>
<published>2022-02-28T07:36:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=fa52ac9781f479de8ab4d8526276244c0a0471f4'/>
<id>urn:sha1:fa52ac9781f479de8ab4d8526276244c0a0471f4</id>
<content type='text'>
Without this patch, BusyBox handles bash pattern substitutions without
a terminating '/' character incorrectly.

Consider the following shell script:

	_bootstrapver=5.0.211-r0
	_referencesdir="/usr/${_bootstrapver/-*}/Sources"
	echo $_referencesdir

This should output `/usr/5.0.211/Sources`. However, without this patch
it instead outputs `/usr/5.0.211Sources`. This is due to the fact that
BusyBox expects the bash pattern substitutions to always be terminated
with a '/' (at least in this part of subvareval) and thus reads passed
the substitution itself and consumes the '/' character which is part of
the literal string. If there is no '/' after the substitution then
BusyBox might perform an out-of-bounds read under certain circumstances.

When replacing the bash pattern substitution with `${_bootstrapver/-*/}`,
or with this patch applied, ash outputs the correct value.

Signed-off-by: Sören Tempel &lt;soeren@soeren-tempel.net&gt;
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shell: fix script's comm field if ENABLE_FEATURE_PREFER_APPLETS=y</title>
<updated>2021-10-11T16:44:00+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-10-11T16:39:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5acf5e1f870fb5382556d4b434158f7d497893ca'/>
<id>urn:sha1:5acf5e1f870fb5382556d4b434158f7d497893ca</id>
<content type='text'>
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 &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shell: fix parsing of $(( (v)++ + NUM ))</title>
<updated>2021-09-26T11:29:25+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-09-26T11:25:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1be73dd9ad6d2cf6747934374c1d58bd9bc211b4'/>
<id>urn:sha1:1be73dd9ad6d2cf6747934374c1d58bd9bc211b4</id>
<content type='text'>
function                                             old     new   delta
evaluate_string                                      988    1011     +23

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shell: enable more tests which are passing now</title>
<updated>2021-09-25T20:35:17+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-09-25T20:25:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=62e433131b289ea90e465cf0c5f78c8c226fc692'/>
<id>urn:sha1:62e433131b289ea90e465cf0c5f78c8c226fc692</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shell: fix arithmentic evaluation of "++7" and such (it is + + 7, i.e. 7)</title>
<updated>2021-09-25T20:04:45+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-09-25T20:04:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d84a604830a7ee3f8fb5f3908ae0d54513393a20'/>
<id>urn:sha1:d84a604830a7ee3f8fb5f3908ae0d54513393a20</id>
<content type='text'>
function                                             old     new   delta
evaluate_string                                      945     988     +43

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: parser: Fix alias expansion after heredoc or newlines</title>
<updated>2021-09-07T23:43:12+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-09-07T23:43:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=8c68ae8416c8b54222eb3cd1d4908a570147e134'/>
<id>urn:sha1:8c68ae8416c8b54222eb3cd1d4908a570147e134</id>
<content type='text'>
Upstream commit:

    Date: Wed, 29 Apr 2020 00:19:59 +1000
    parser: Fix alias expansion after heredoc or newlines

    This script should print OK:

        alias a="case x in " b=x
        a
        b) echo BAD;; esac

        alias BEGIN={ END=}
        BEGIN
    	cat &lt;&lt;- EOF &gt; /dev/null
    		$(:)
    	EOF
        END
        : &lt;&lt;- EOF &amp;&amp;
    		$(:)
        EOF
        BEGIN
    	echo OK
        END

    However, because the value of checkkwd is either zeroed when it
    shouldn't, or isn't zeroed when it should, dash currently gets
    it wrong in every case.

    This patch fixes it by saving checkkwd and zeroing it where needed.

function                                             old     new   delta
readtoken                                            157     176     +19

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>shell/ash_test/run-all: unset locale/language variables</title>
<updated>2021-09-07T16:24:08+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-09-07T16:24:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=bcff3a7b5ab3302ea03a471bae195f8454008a20'/>
<id>urn:sha1:bcff3a7b5ab3302ea03a471bae195f8454008a20</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: LINENO starts from 0 in -c SCRIPT mode</title>
<updated>2021-09-07T16:16:45+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-09-07T16:16:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=64aa86b720641cb50be9636e6c20d4dbbea6fed0'/>
<id>urn:sha1:64aa86b720641cb50be9636e6c20d4dbbea6fed0</id>
<content type='text'>
The var_LINENO3.tests fails for hush: it does start from 0, but does not increment.

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>ash: fix LINENO in functions</title>
<updated>2021-09-07T16:01:49+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2021-09-07T16:01:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d6c9cbc0727cc3875672ae280ec129514a9d8594'/>
<id>urn:sha1:d6c9cbc0727cc3875672ae280ec129514a9d8594</id>
<content type='text'>
From larger patch by Roberto A. Foglietta &lt;roberto.foglietta@gmail.com&gt;

function                                             old     new   delta
evalfun                                              348     369     +21
ash_main                                            1202    1218     +16
setinputstring                                        65      73      +8
lookupvar                                            116     106     -10
evaltree                                             772     753     -19
evalsubshell                                         192     173     -19
evalfor                                              175     156     -19
evalcase                                             273     254     -19
evalcommand                                         1560    1536     -24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/6 up/down: 45/-110)           Total: -65 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
</feed>
