null pointer deref, segfault

2017-01-23 Thread Brian 'geeknik' Carpenter
Going through some ancient bug reports and I came across https://savannah.gnu.org/support/index.php?108884 which apparently nobody uses anymore. <<$(()())|>_[$($(<<0)) crashes bash on Debian, Red Hat, FreeBSD, etc. Regards, Brian 'geeknik' Carpenter https://twitter.com/geeknik

Re: read() may fail due to nonblocking stdin

2017-01-23 Thread Chet Ramey
On 1/23/17 10:45 AM, Chet Ramey wrote: > On 1/23/17 10:42 AM, Chet Ramey wrote: >> On 1/22/17 2:32 PM, Siteshwar Vashisht wrote: >>> If a child process sets stdin to non-blocking and does not set it back to >>> blocking before exiting, other processes may fail to read from stdin. >> >> It's not th

Re: read() may fail due to nonblocking stdin

2017-01-23 Thread Chet Ramey
On 1/23/17 10:42 AM, Chet Ramey wrote: > On 1/22/17 2:32 PM, Siteshwar Vashisht wrote: >> If a child process sets stdin to non-blocking and does not set it back to >> blocking before exiting, other processes may fail to read from stdin. > > It's not the shell's business to be resetting this for p

Re: read() may fail due to nonblocking stdin

2017-01-23 Thread Chet Ramey
On 1/22/17 2:32 PM, Siteshwar Vashisht wrote: > If a child process sets stdin to non-blocking and does not set it back to > blocking before exiting, other processes may fail to read from stdin. It's not the shell's business to be resetting this for processes it spawns. What bash should do is to t

Re: nullglob make unset on array member fail ?

2017-01-23 Thread Chet Ramey
On 1/23/17 9:04 AM, admn ombres wrote: > $ x=(x); echo ${#x[@]}; shopt -s nullglob; unset x[0]; echo ${#x[@]} > 1 > 1 > $ x=(x); echo ${#x[@]}; shopt -u nullglob; unset x[0]; echo ${#x[@]} > 1 > 0 `unset' is a builtin; its arguments are subject to all the shell word expansions, including globbing.

Re: nullglob make unset on array member fail ?

2017-01-23 Thread Greg Wooledge
On Mon, Jan 23, 2017 at 03:04:40PM +0100, admn ombres wrote: > $ x=(x); echo ${#x[@]}; shopt -s nullglob; unset x[0]; echo ${#x[@]} You need to quote 'x[0]' to avoid having it globbed against files in the current working directory, regardless of whether you're using nullglob. The presence of a fi

nullglob make unset on array member fail ?

2017-01-23 Thread admn ombres
$ x=(x); echo ${#x[@]}; shopt -s nullglob; unset x[0]; echo ${#x[@]} 1 1 $ x=(x); echo ${#x[@]}; shopt -u nullglob; unset x[0]; echo ${#x[@]} 1 0