Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #11763

Bugs in bash-4.4-beta running on OpenBSD

From Eduardo A. Bustamante López <dualbus@gmail.com>
Newsgroups gnu.bash.bug
Subject Bugs in bash-4.4-beta running on OpenBSD
Date 2015-10-26 06:07 -0600
Message-ID <mailman.1068.1445861267.7904.bug-bash@gnu.org> (permalink)

Show all headers | View raw


Hi Chet,

I compiled bash with:

CFLAGS='-O0 -g' ./configure --silent && make -j2 && make tests 2>&1 | tee out.log

And I get many parsing errors in the results. Most seem to be parenthesis
related, and some segfaults. I hope these two lead to fixing the whole thing:


$ uname -a
OpenBSD openbsd.my.domain 5.6 GENERIC#310 amd64

$ cat ../comsub.sh                                                                                                                     
/home/dualbus/bash-4.4-beta/bash -c 'echo $(( $(echo 1) ))'
$ sh ../comsub.sh                                                                                                                      
/home/dualbus/bash-4.4-beta/bash: command substitution: line 1: syntax error near unexpected token `)'
/home/dualbus/bash-4.4-beta/bash: command substitution: line 1: `echo 1) ))'

$ cat ../bash_func.sh                                                                                                                  
env BASH_FUNC_x%%='() { _;}>_[$($())] < { echo vuln;}' /home/dualbus/bash-4.4-beta/bash -c :
$ sh ../bash_func.sh   
Segmentation fault (core dumped) 
$ gdb ./bash bash.core                                                                                                                 
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-unknown-openbsd5.6"...
Core was generated by `bash'.
Program terminated with signal 11, Segmentation fault.
Loaded symbols for /home/dualbus/bash-4.4-beta/bash
Reading symbols from /usr/lib/libtermcap.so.14.0...done.
Loaded symbols for /usr/lib/libtermcap.so.14.0
Reading symbols from /usr/lib/libc.so.77.2...done.
Loaded symbols for /usr/lib/libc.so.77.2
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
#0  0x0000074df322b871 in yyparse () at y.tab.c:6286
6286            if (yydebug)

(gdb) bt
#0  0x0000074df322b871 in yyparse () at y.tab.c:6286
#1  0x0000074df322003c in parse_command () at eval.c:241
#2  0x0000074df329ff9a in parse_and_execute (string=0x750912e3bc0 "x () { _;}>_[$($())] < { echo vuln;}", 
    from_file=0x7f7ffffe9262 "x", flags=256) at evalstring.c:330
#3  0x0000074df3240aac in initialize_shell_variables (env=0x7f7ffffe9028, privmode=0) at variables.c:389
#4  0x0000074df321f506 in shell_initialize () at shell.c:1806
#5  0x0000074df321d394 in main (argc=3, argv=0x7f7ffffe9008, env=0x7f7ffffe9028) at shell.c:565

(gdb) info locals
yym = 11
yyn = 117
yystate = 112
yys = 0x0

(gdb) l y.tab.c:6286
6281        }
6282        if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
6283                yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
6284        {
6285    #if YYDEBUG
6286            if (yydebug)
6287                printf("%sdebug: state %d, shifting to state %d\n",
6288                        YYPREFIX, yystate, yytable[yyn]);
6289    #endif
6290            if (yyssp >= yysslim && yygrowstack())

-- 
Eduardo Bustamante
https://dualbus.me/

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

Bugs in bash-4.4-beta running on OpenBSD Eduardo A. Bustamante López <dualbus@gmail.com> - 2015-10-26 06:07 -0600

csiph-web