diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2020-05-26 23:19:05 +1000 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2020-06-01 23:12:53 +1000 |
commit | e8e29001ad1cdeb68a5c617db149830e676c32c8 (patch) | |
tree | 09db2f86070e05506404abbf5a55ec7a0a1c6b8f | |
parent | shell: Fix typos (diff) | |
download | dash-e8e29001ad1cdeb68a5c617db149830e676c32c8.tar.gz dash-e8e29001ad1cdeb68a5c617db149830e676c32c8.zip |
parser: Fix double-backslash nl in old-style command sub
When handling backslashes within an old-style command substitution, we should not call pgetc_eatbnl because that would treat the next backslash character as another escape character if it was then followed by a new-line. This patch fixes it by calling pgetc. Reported-by: Matt Whitlock <dash@mattwhitlock.name> Fixes: 6bbc71d84bea ("parser: use pgetc_eatbnl() in more places") Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | src/parser.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/parser.c b/src/parser.c index 54c2861..a47022e 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1393,7 +1393,7 @@ parsebackq: { goto done; case '\\': - pc = pgetc_eatbnl(); + pc = pgetc(); if (pc != '\\' && pc != '`' && pc != '$' && (!synstack->dblquote || pc != '"')) STPUTC('\\', pout); |