diff options
author | Denys Vlasenko | 2020-02-22 16:39:27 +0100 |
---|---|---|
committer | Denys Vlasenko | 2020-02-22 16:39:27 +0100 |
commit | 9a1a659707a18c29166c3e2977523102866d7aed (patch) | |
tree | 032d75ed04a949c4b9ad9279ee49b9fde7b1a597 /shell | |
parent | e4a0612efdedca0182d444942c34317e9df28a27 (diff) | |
download | busybox-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>
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 2 |
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; |