Re: Shell Grammar man page function definition

2021-03-01 Thread Mike Jonkmans
On Sun, Feb 28, 2021 at 05:06:37PM -0500, Chet Ramey wrote: > On 2/28/21 12:38 PM, Mike Jonkmans wrote: > > > The manual page says: > > If the function reserved word is used, but the parentheses are not > > supplied, > > the braces are required. > > That text has been there since the ear

Re: is it normal that set -x unset commands dont display special chars in the content

2021-03-01 Thread Alex fxmbsw7 Ratchev
i still dont understand, ( you speak more special english than code ), why unset wont display the special chars, but then i suppose its not much of a bug .. ? On Mon, Mar 1, 2021 at 1:19 AM Chet Ramey wrote: > On 2/28/21 6:19 PM, k...@plushkava.net wrote: > > >> The check for shell special chara

Re: is it normal that set -x unset commands dont display special chars in the content

2021-03-01 Thread Alex fxmbsw7 Ratchev
it just displays the wrong data completly, the special chars cutted off, .. .. On Mon, Mar 1, 2021 at 10:28 AM Alex fxmbsw7 Ratchev wrote: > i still dont understand, ( you speak more special english than code ), why > unset wont display the special chars, but then i suppose its not much of a > b

Re: is it normal that set -x unset commands dont display special chars in the content

2021-03-01 Thread felix
On Sun, Feb 28, 2021 at 10:32:13PM +, k...@plushkava.net wrote: > Why not indeed. However, I think that I'm able to decipher this. > > $ declare -A map; key=$'foo\34bar'; map[$key]= > $ set -x > $ : "$key" > + : $'foo\034bar' > $ unset "map[$key]" > + unset 'map[foobar]' > > For the unset com

uname lead to embed code execution

2021-03-01 Thread felix
There it is: $ declare -A map; key='foo$(uname >/dev/tty)bar'; map[$key]= $ echo map["$key"] map[foo$(uname >/dev/tty)bar] $ echo ${map["$key"]} $ unset map["$key"] Linux Or even: $ declare -A map; key='foo$(read -t 3 /dev/tty bar: $foo)bar'; map[$key]= ... $ unset map["$key"] baz # hitted in

Re: uname lead to embed code execution

2021-03-01 Thread Koichi Murase
2021年3月1日(月) 18:37 felix : > $ unset map["$key"] > Linux This is a topic that is often discussed on this mailing list, and I think the conclusion is that we should always write it as $ unset 'map[$key]' In addition to the extra expansions of the array subscripts, `unset map["$key"]' has another

Re: is it normal that set -x unset commands dont display special chars in the content

2021-03-01 Thread Alex fxmbsw7 Ratchev
oh i see, thank you big time for pointing it out so good :)) On Mon, Mar 1, 2021 at 11:22 AM felix wrote: > On Sun, Feb 28, 2021 at 10:32:13PM +, k...@plushkava.net wrote: > > Why not indeed. However, I think that I'm able to decipher this. > > > > $ declare -A map; key=$'foo\34bar'; map[$ke

Re: Shell Grammar man page function definition

2021-03-01 Thread Chet Ramey
On 2/28/21 9:56 PM, Dale R. Worley wrote: What does not work: function x ( : ) Check your Bash version. IIRC, recent versions (e.g. 5.1) have a minor change in the Bison grammar (parse.y) for function definitions, IIRC that I provided. This is right; Dale sent the patch. -- ``The

Re: uname lead to embed code execution

2021-03-01 Thread Greg Wooledge
felix (fe...@f-hauri.ch) wrote: > There it is: > > $ declare -A map; key='foo$(uname >/dev/tty)bar'; map[$key]= > $ echo map["$key"] > map[foo$(uname >/dev/tty)bar] > $ echo ${map["$key"]} > > $ unset map["$key"] > Linux Yeah, it's sad but true. I've just added a whole (short) section on assoc

Re: uname lead to embed code execution

2021-03-01 Thread Alex fxmbsw7 Ratchev
as a side info, only interpretation of vars in builtins may be affected, eg solution as written : single quote the '$ley', on the other side ${var[$faulty_key]} doesnt eval it, only args usage as for declare unset and [[ -v .. maybe .. On Mon, Mar 1, 2021 at 3:40 PM Greg Wooledge wrote: > felix