diff options
Diffstat (limited to '')
-rw-r--r-- | debian/patches/bash52-008.diff | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/debian/patches/bash52-008.diff b/debian/patches/bash52-008.diff new file mode 100644 index 0000000..6d5bb11 --- /dev/null +++ b/debian/patches/bash52-008.diff @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.2 +Patch-ID: bash52-008 + +Bug-Reported-by: Glenn Jackman <glenn.jackman@gmail.com> +Bug-Reference-ID: <CAFC8ewQDx7hzNJzveuJ5o4FWo=ij7MzckiJVN_6NXjp504QZeg@mail.gmail.com> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2022-10/msg00095.html + +Bug-Description: + +Array subscript expansion can inappropriately quote brackets if the expression +contains < or >. + +--- 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 7 ++#define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ +--- a/subst.c ++++ b/subst.c +@@ -3819,6 +3819,10 @@ pos_params (string, start, end, quoted, + #define EXP_CHAR(s) (s == '$' || s == '`' || s == CTLESC || s == '~') + #endif + ++/* We don't perform process substitution in arithmetic expressions, so don't ++ bother checking for it. */ ++#define ARITH_EXP_CHAR(s) (s == '$' || s == '`' || s == CTLESC || s == '~') ++ + /* If there are any characters in STRING that require full expansion, + then call FUNC to expand STRING; otherwise just perform quote + removal if necessary. This returns a new string. */ +@@ -4028,7 +4032,7 @@ expand_arith_string (string, quoted) + i = saw_quote = 0; + while (string[i]) + { +- if (EXP_CHAR (string[i])) ++ if (ARITH_EXP_CHAR (string[i])) + break; + else if (string[i] == '\'' || string[i] == '\\' || string[i] == '"') + saw_quote = string[i]; |