From e9c47e67bf1e7477f7b70074a4a24de09d168316 Mon Sep 17 00:00:00 2001 From: Chet Ramey Date: Thu, 20 Dec 2007 08:52:34 -0500 Subject: [PATCH] Patch-ID: bash32-036 Bug-Reported-by: Len Lattanzi Bug-Reference-ID: <87493131-7AEC-4301-A684-E6CC6D06E3E1@apple.com> Bug-Reference-URL: Bug-Description: When initializing a subshell, bash did not reset a sentinel keeping track of the number of command substitutions, leading to an infinite loop if an error was encountered in the subshell. This patch, in file bash32-036, was downloaded from ftp.gnu.org on 2011-05-29, and bash32-036.sig was furthermore verified, yielding the following output: gpg: Signature made Mon 28 Apr 2008 10:07:13 PM EDT using DSA key ID 64EA74AB gpg: Good signature from "Chet Ramey " --- execute_cmd.c | 2 ++ patchlevel.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/execute_cmd.c b/execute_cmd.c index c7a7d3b..f74985b 100644 --- a/execute_cmd.c +++ b/execute_cmd.c @@ -3880,6 +3880,8 @@ initialize_subshell () shell_variables = shell_variables->down; clear_unwind_protect_list (0); + /* XXX -- are there other things we should be resetting here? */ + parse_and_execute_level = 0; /* nothing left to restore it */ /* We're no longer inside a shell function. */ variable_context = return_catch_flag = 0; diff --git a/patchlevel.h b/patchlevel.h index cb4ea9a..e7a3e62 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -25,6 +25,6 @@ regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh looks for to find the patch level (for the sccs version string). */ -#define PATCHLEVEL 35 +#define PATCHLEVEL 36 #endif /* _PATCHLEVEL_H_ */ -- 2.11.4.GIT