Package: screen Version: 4.0.3-0.3+b1 Severity: minor If I set a variable (incorrectly) with no value in ~/.screenrc and try to start screen with "screen -m -d" or "screen -m -D", screen produces a segfault.
Steps to reproduce: $ echo 'setenv FOO'>~/.screenrc $ screen -m -D Segmentation fault Alternatively, screen -m -d produces a segfault too, but this one gets logged in syslog/dmesg: screen[17465]: segfault at 4 ip 0806b8bb sp bfe461a0 error 4 in screen[8048000+47000] Expected behavior: At least not to segfault. If setenv is set interactively under screen, the user is prompted for a value and if no value is given, then nothing is done. So when the option is given in a configuration file screen should either ignore the incorrect ~/.screenrc setenv setting completely or give an error message. Versions: This bug is present both in the stable 4.0.3-0.3+b1 and unstable 4.0.3-11. I attached a GDB backtrace of the segfault. -- Timo Lilja
GDB trace: screen-4.0.3$ gdb screen GNU gdb 6.4.90-debian [...] (gdb) run -m -D Starting program: screen-4.0.3/screen -m -D Program received signal SIGSEGV, Segmentation fault. 0x08072bc9 in Input (istr=0x80a35e0 "Enter value for FOO: ", len=30, mode=0, finfunc=0x8082751 <SetenvFin2>, data=0x0) at input.c:123 123 maxlen = flayer->l_width - 1 - strlen(istr); (gdb) p flayer $1 = (struct layer *) 0x0 (gdb) bt #0 0x08072bc9 in Input (istr=0x80a35e0 "Enter value for FOO: ", len=30, mode=0, finfunc=0x8082751 <SetenvFin2>, data=0x0) at input.c:123 #1 0x080827f1 in InputSetenv (arg=0xbff0cc43 "FOO") at process.c:5163 #2 0x0807c89a in DoAction (act=0xbff0c9ec, key=-1) at process.c:2898 #3 0x0807f9b6 in DoCommand (argv=0xbff0cb18, argl=0xbff0ca18) at process.c:3853 #4 0x0805a98c in RcLine (ubuf=0xbff0cc3c "setenv", ubufl=2048) at fileio.c:339 #5 0x0805a824 in FinishRc (rcfilename=0x0) at fileio.c:284 #6 0x0804ca53 in main (ac=0, av=0xbff0e8b0) at screen.c:1321