zsh5 crashed with SIGSEGV in hrealloc()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
zsh (Ubuntu) |
Confirmed
|
Medium
|
Unassigned |
Bug Description
I can't seem to reproduce this, but here's roughly what I did (yes, I realized, what I'm doing is stupid and doesn't work):
nyuszika7h@ymlyna ~ % validate_passwd() {
> local username
> local password
>
> read -r '?username: ' username
> read -rs '?password: ' password
>
> su "$username" -c /bin/true &
> print "$password" > "/proc/$!/fd/0"
> }
zsh: event not found: /fd/0
127 nyuszika7h@ymlyna ~ % validate_passwd() {
> local username
> local password
>
> read -r '?username: ' username
> read -rs '?password: ' password
>
> su "$username" -c /bin/true &
> print "$password" > "/proc/$\!/fd/0"
> }
A few moments later, zsh crashed.
ProblemType: Crash
DistroRelease: Ubuntu 13.04
Package: zsh 5.0.0-2ubuntu3
ProcVersionSign
Uname: Linux 3.5.0-21-generic x86_64
ApportVersion: 2.8-0ubuntu1
Architecture: amd64
Date: Fri Jan 11 23:26:50 2013
ExecutablePath: /bin/zsh5
InstallationDate: Installed on 2013-01-10 (1 days ago)
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Release amd64 (20121017.5)
MarkForUpload: True
ProcCmdline: -zsh
ProcEnviron:
LANG=en_US.UTF-8
SHELL=/bin/zsh
PATH=(custom, no user)
TERM=xterm
XDG_RUNTIME_
SegvAnalysis:
Segfault happened at: 0x450877 <hrealloc+135>: mov 0x10(%rbx),%rax
PC (0x00450877) ok
source "0x10(%rbx)" (0x00000010) not located in a known VMA region (needed readable region)!
destination "%rax" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: zsh
StacktraceTop:
hrealloc ()
add ()
?? ()
?? ()
zshlex ()
Title: zsh5 crashed with SIGSEGV in hrealloc()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
StacktraceTop: \212!/fd/ 0\n}\nvalidate_ passwd> ", old=32, new=64) at ../../Src/mem.c:616 endchar@ entry=34 '"', sub=sub@entry=0) at ../../Src/ lex.c:1576 lex.c:1371
hrealloc (p=0x7ff9d4f0a940 "\232/proc/
add (c=-722425536, c@entry=100) at ../../Src/lex.c:575
dquote_parse (endchar=
gettokstr (c=c@entry=34, sub=sub@entry=0) at ../../Src/
gettok () at ../../Src/lex.c:993