diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2018-11-19 18:00:32 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2018-12-14 13:48:02 +0800 |
commit | 70712c93c40a322056dafce7cbb45c727400936b (patch) | |
tree | 9e38f1fcc4940031477c285297ad3373d8297c8c | |
parent | eval: Silence compiler warning about missing parentheses (diff) | |
download | dash-70712c93c40a322056dafce7cbb45c727400936b.tar.gz dash-70712c93c40a322056dafce7cbb45c727400936b.zip |
eval: Use the correct expansion mode for fd redirection
It has been reported that echo test >&$EMPTY_VARIABLE causes dash to segfault. This is a symptom of the bigger problem that dash tries to perform pathname expansion as well as field splitting on the word after >& and <&. This is wrong and this patch fixes it to use the same expansions as done on a normal redirection. Reported-by: Andrej Shadura <andrew.shadura@collabora.co.uk> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | src/eval.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c index 943948a..8f65d94 100644 --- a/src/eval.c +++ b/src/eval.c @@ -529,7 +529,7 @@ expredir(union node *n) case NFROMFD: case NTOFD: if (redir->ndup.vname) { - expandarg(redir->ndup.vname, &fn, EXP_FULL | EXP_TILDE); + expandarg(redir->ndup.vname, &fn, EXP_TILDE | EXP_REDIR); fixredir(redir, fn.list->text, 1); } break; |