ash: revert wrong "fix" for an apparent memory leak. Closes 5822
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
5d78355d5a
commit
7c4b13e019
@ -8677,8 +8677,17 @@ expredir(union node *n)
|
||||
#if ENABLE_ASH_BASH_COMPAT
|
||||
store_expfname:
|
||||
#endif
|
||||
#if 0
|
||||
// By the design of stack allocator, the loop of this kind:
|
||||
// while true; do while true; do break; done </dev/null; done
|
||||
// will look like a memory leak: ash plans to free expfname's
|
||||
// of "/dev/null" as soon as it finishes running the loop
|
||||
// (in this case, never).
|
||||
// This "fix" is wrong:
|
||||
if (redir->nfile.expfname)
|
||||
stunalloc(redir->nfile.expfname);
|
||||
// It results in corrupted state of stacked allocations.
|
||||
#endif
|
||||
redir->nfile.expfname = fn.list->text;
|
||||
break;
|
||||
case NFROMFD:
|
||||
|
Loading…
Reference in New Issue
Block a user