[Bug 5822] New: Regression in ash: crashes running some scripts
bugzilla at busybox.net
bugzilla at busybox.net
Sun Dec 23 20:15:35 UTC 2012
https://bugs.busybox.net/show_bug.cgi?id=5822
Summary: Regression in ash: crashes running some scripts
Product: Busybox
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: major
Priority: P5
Component: Other
AssignedTo: unassigned at busybox.net
ReportedBy: bugdal at aerifal.cx
CC: busybox-cvs at busybox.net
Estimated Hours: 0.0
Due to a bogus "memory leak fix" commit made in November, ash is crashing
running some shell scripts, notably musl libc's configure script
(http://git.musl-libc.org/cgit/musl/tree/configure). The offending commit is:
http://git.busybox.net/busybox/commit/shell/ash.c?id=4ba6c5d3ba3d2c7922aff6b5c2e73b8325f1cf17
There is a thread on the mailing list discussing it here:
http://lists.busybox.net/pipermail/busybox/2012-December/thread.html#78738
Basically, the original memory leak is unbounded growth of a stack object
maintained by ash during long-running nested loops involving redirection. The
"memory leak fix" was invalid because it's attempting to free a string not at
the top of the stack, and thereby potentially clobbering all other data that
was allocated on the stack between that string and the top of the stack.
Unless a better fix can be made right away, please just revert the offending
commit; a memory leak is at least less of an offense than crashing. I suspect
fixing the leak correctly will require dropping the stack-based allocation
strategy, possibly replacing it with something akin to talloc.
I do not presently have a minimal test case, but the musl configure script can
be run outside of the musl source tree and should demonstrate the crash
perfectly well.
--
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the busybox-cvs
mailing list