klibc-bot for Nikolai Merinov
2020-Mar-28 21:49 UTC
[klibc] [klibc:update-dash] dash: expand: Fix trailing newlines processing in backquote expanding
Commit-ID: 42c84c0c2ed8f5b9a81bd70582edfa9d7ead08be Gitweb: http://git.kernel.org/?p=libs/klibc/klibc.git;a=commit;h=42c84c0c2ed8f5b9a81bd70582edfa9d7ead08be Author: Nikolai Merinov <n.merinov at inango-systems.com> AuthorDate: Mon, 29 Apr 2019 19:13:37 +0500 Committer: Ben Hutchings <ben at decadent.org.uk> CommitDate: Sat, 28 Mar 2020 21:42:55 +0000 [klibc] dash: expand: Fix trailing newlines processing in backquote expanding [ dash commit c4f4ee8ecf85834811c252fc1df3892863572bbd ] According to POSIX.1-2008 we should remove newlines only at the end of the substitution. Newlines-only substitions causes dash to remove newlines before beggining of the substitution. The following code: cat <<END 1 $(echo "") 2 END prints "1<newline>2" instead of expected "1<newline><newline>2". This patch fixes trailing newlines processing in backquote expanding. Signed-off-by: Nikolai Merinov <n.merinov at inango-systems.com> Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au> Signed-off-by: Ben Hutchings <ben at decadent.org.uk> --- usr/dash/expand.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr/dash/expand.c b/usr/dash/expand.c index 562a4869..175f037b 100644 --- a/usr/dash/expand.c +++ b/usr/dash/expand.c @@ -525,7 +525,7 @@ read: /* Eat all trailing newlines */ dest = expdest; - for (; dest > (char *)stackblock() && dest[-1] == '\n';) + for (; dest > ((char *)stackblock() + startloc) && dest[-1] == '\n';) STUNPUTC(dest); expdest = dest;
Seemingly Similar Threads
- [klibc:update-dash] dash: expand: Do not reprocess data when expanding words
- [klibc:update-dash] dash: expand: Fix double-decrement in argstr
- [klibc:update-dash] dash: expand: Ensure result is escaped in cvtnum
- Backquote in R syntax
- [klibc:update-dash] parser: Fix backquote support in here-document EOF mark