summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2020-02-22 16:39:27 +0100
committerDenys Vlasenko2020-02-22 16:39:27 +0100
commit9a1a659707a18c29166c3e2977523102866d7aed (patch)
tree032d75ed04a949c4b9ad9279ee49b9fde7b1a597
parente4a0612efdedca0182d444942c34317e9df28a27 (diff)
downloadbusybox-9a1a659707a18c29166c3e2977523102866d7aed.zip
busybox-9a1a659707a18c29166c3e2977523102866d7aed.tar.gz
ash: parser: Fix old-style command substitution here-document crash
Upstream commit: Date: Fri, 29 Mar 2019 13:49:59 +0800 parser: Fix old-style command substitution here-document crash ... This is caused by the recent change to save/restore here-docment list around command substitutions. In doing so we must finish existing here-documents prior to restoring the old here-document list. This is done for new-style command substitutions but not for old-style. This patch fixes it by doing it for both. Fixes: 51e2d88d6e51 ("parser: Save/restore here-documents in...") Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/ash.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 005d87e..83cac3f 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -12877,9 +12877,9 @@ parsebackq: {
if (readtoken() != TRP)
raise_error_unexpected_syntax(TRP);
setinputstring(nullstr);
- parseheredoc();
}
+ parseheredoc();
heredoclist = saveheredoclist;
(*nlpp)->n = n;