Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package bash for openSUSE:Factory checked in at 2022-11-30 14:58:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bash (Old) and /work/SRC/openSUSE:Factory/.bash.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bash" Wed Nov 30 14:58:49 2022 rev:185 rq:1038668 version:5.2.MACRO Changes: -------- --- /work/SRC/openSUSE:Factory/bash/bash.changes 2022-11-12 17:40:02.953767963 +0100 +++ /work/SRC/openSUSE:Factory/.bash.new.1597/bash.changes 2022-11-30 14:58:51.757012043 +0100 @@ -1,0 +2,17 @@ +Mon Nov 28 11:33:24 UTC 2022 - Dr. Werner Fink <wer...@suse.de> + +- Add upstream patches + * bash52-010 + Bash-5.2 checks the first 128 characters of an executable file that execve() + refuses to execute to see whether it's a binary file before trying to + execute it as a shell script. This defeats some previously-supported use + cases like "self-executing" jar files or "self-uncompressing" scripts. + * bash52-011 + Using timeouts and readline editing with the `read' builtin (read -e -t) can + leave the readline timeout enabled, potentially resulting in an erroneous + timeout on the next call. + * bash52-012 + When running in bash compatibility mode, nested command substitutions can + leave the `extglob' option enabled. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bash-5.2-patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-003 new/bash-5.2-patches/bash52-003 --- old/bash-5.2-patches/bash52-003 2022-11-07 17:16:45.000000000 +0100 +++ new/bash-5.2-patches/bash52-003 2022-11-09 16:13:02.069684406 +0100 @@ -15,7 +15,7 @@ Patch (apply with `patch -p0'): -*** ../bash-5.2-patched/print_cmd.c 2022-07-26 09:16:39.000000000 -0400 +*** print_cmd.c 2022-07-26 09:16:39.000000000 -0400 --- print_cmd.c 2022-10-17 10:41:06.000000000 -0400 *************** *** 298,305 **** @@ -72,7 +72,7 @@ ! } result = the_printed_command; -*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2020-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-004 new/bash-5.2-patches/bash52-004 --- old/bash-5.2-patches/bash52-004 2022-11-07 17:16:58.000000000 +0100 +++ new/bash-5.2-patches/bash52-004 2022-11-09 16:13:02.085684118 +0100 @@ -15,7 +15,7 @@ Patch (apply with `patch -p0'): -*** ../bash-5.2-patched/subst.c 2022-10-05 10:22:02.000000000 -0400 +*** subst.c 2022-10-05 10:22:02.000000000 -0400 --- subst.c 2022-10-06 15:19:08.000000000 -0400 *************** *** 1799,1802 **** @@ -53,7 +53,7 @@ + dolbrace_state = (nesting_level < PARAMEXPNEST_MAX) ? dbstate[nesting_level] : dbstate[0]; /* Guess using initial state */ i++; continue; -*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2020-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-005 new/bash-5.2-patches/bash52-005 --- old/bash-5.2-patches/bash52-005 2022-11-07 17:18:12.000000000 +0100 +++ new/bash-5.2-patches/bash52-005 2022-11-09 16:13:02.101683830 +0100 @@ -14,7 +14,7 @@ Patch (apply with `patch -p0'): -*** ../bash-5.2-patched/subst.c 2022-10-05 10:22:02.000000000 -0400 +*** subst.c 2022-10-05 10:22:02.000000000 -0400 --- subst.c 2022-10-13 16:57:26.000000000 -0400 *************** *** 8966,8970 **** @@ -30,7 +30,7 @@ ! : (rep ? savestring (rep) : savestring ("")); ret = (char *)xmalloc (rsize = 64); -*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2020-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-006 new/bash-5.2-patches/bash52-006 --- old/bash-5.2-patches/bash52-006 2022-11-07 17:18:30.000000000 +0100 +++ new/bash-5.2-patches/bash52-006 2022-11-09 16:13:02.117683541 +0100 @@ -15,7 +15,7 @@ Patch (apply with `patch -p0'): -*** ../bash-5.2-patched/parse.y 2022-10-08 13:10:06.000000000 -0400 +*** parse.y 2022-10-08 13:10:06.000000000 -0400 --- parse.y 2022-10-14 10:03:19.000000000 -0400 *************** *** 3307,3310 **** @@ -188,7 +188,7 @@ print_shift_error = 0; } -*** ../bash-5.2-patched/shell.c 2022-03-04 15:13:00.000000000 -0500 +*** shell.c 2022-03-04 15:13:00.000000000 -0500 --- shell.c 2022-10-14 09:36:19.000000000 -0400 *************** *** 1845,1850 **** @@ -244,7 +244,7 @@ ! expand_aliases = expaliases_flag = 0; bash_argv_initialized = 0; -*** ../bash-5.2-patched/y.tab.c 2022-09-23 10:18:27.000000000 -0400 +*** y.tab.c 2022-09-23 10:18:27.000000000 -0400 --- y.tab.c 2022-10-14 14:57:26.000000000 -0400 *************** *** 5618,5621 **** @@ -276,7 +276,7 @@ ! parser_state |= PST_COMPASSIGN|PST_REPARSE|PST_STRING; } -*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2020-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-007 new/bash-5.2-patches/bash52-007 --- old/bash-5.2-patches/bash52-007 2022-11-07 17:19:46.000000000 +0100 +++ new/bash-5.2-patches/bash52-007 2022-11-09 16:13:02.141683108 +0100 @@ -87,7 +87,7 @@ ! ttok = parse_matched_pair (cd, '[', ']', &ttoklen, P_ARITH); if (ttok == &matched_pair_error) return -1; /* Bail immediately. */ -*** ../bash-5.2.6/y.tab.c 2022-11-02 10:36:54.000000000 -0400 +*** y.tab.c 2022-11-02 10:36:54.000000000 -0400 --- y.tab.c 2022-11-02 10:55:58.000000000 -0400 *************** *** 5924,5927 **** @@ -245,7 +245,7 @@ ! tword = command_substitute (temp, quoted, PF_BACKQUOTE); temp1 = tword ? tword->word : (char *)NULL; if (tword) -*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2020-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-008 new/bash-5.2-patches/bash52-008 --- old/bash-5.2-patches/bash52-008 2022-11-07 17:20:36.000000000 +0100 +++ new/bash-5.2-patches/bash52-008 2022-11-09 16:13:02.157682820 +0100 @@ -41,7 +41,7 @@ ! if (ARITH_EXP_CHAR (string[i])) break; else if (string[i] == '\'' || string[i] == '\\' || string[i] == '"') -*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2020-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-009 new/bash-5.2-patches/bash52-009 --- old/bash-5.2-patches/bash52-009 2022-11-07 17:20:58.000000000 +0100 +++ new/bash-5.2-patches/bash52-009 2022-11-09 16:13:02.173682532 +0100 @@ -15,7 +15,7 @@ Patch (apply with `patch -p0'): -*** ../bash-5.2-patched/expr.c 2022-07-11 10:03:34.000000000 -0400 +*** expr.c 2022-07-11 10:03:34.000000000 -0400 --- expr.c 2022-10-31 10:51:08.000000000 -0400 *************** *** 1169,1172 **** @@ -26,7 +26,7 @@ + aflag |= AV_ATSTARKEYS; v = (e == ']') ? array_variable_part (tok, tflag, (char **)0, (int *)0) : find_variable (tok); #else -*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +*** patchlevel.h 2020-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-010 new/bash-5.2-patches/bash52-010 --- old/bash-5.2-patches/bash52-010 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-5.2-patches/bash52-010 2022-11-23 23:12:35.000000000 +0100 @@ -0,0 +1,71 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.2 +Patch-ID: bash52-010 + +Bug-Reported-by: la...@apache.org +Bug-Reference-ID: +Bug-Reference-URL: https://savannah.gnu.org/support/?110744 + +Bug-Description: + +Bash-5.2 checks the first 128 characters of an executable file that execve() +refuses to execute to see whether it's a binary file before trying to +execute it as a shell script. This defeats some previously-supported use +cases like "self-executing" jar files or "self-uncompressing" scripts. + +Patch (apply with `patch -p0'): + +*** ../bash-5.2-patched/general.c 2022-11-07 10:31:42.000000000 -0500 +--- general.c 2022-11-18 14:48:45.000000000 -0500 +*************** +*** 684,687 **** +--- 684,688 ---- + { + register int i; ++ int nline; + unsigned char c; + +*************** +*** 690,702 **** + + /* Generally we check the first line for NULs. If the first line looks like +! a `#!' interpreter specifier, we just look for NULs anywhere in the +! buffer. */ +! if (sample[0] == '#' && sample[1] == '!') +! return (memchr (sample, '\0', sample_len) != NULL); + + for (i = 0; i < sample_len; i++) + { + c = sample[i]; +! if (c == '\n') + return (0); + if (c == '\0') +--- 691,701 ---- + + /* Generally we check the first line for NULs. If the first line looks like +! a `#!' interpreter specifier, we look for NULs in the first two lines. */ +! nline = (sample[0] == '#' && sample[1] == '!') ? 2 : 1; + + for (i = 0; i < sample_len; i++) + { + c = sample[i]; +! if (c == '\n' && --nline == 0) + return (0); + if (c == '\0') +*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ Binary files old/bash-5.2-patches/bash52-010.sig and new/bash-5.2-patches/bash52-010.sig differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-011 new/bash-5.2-patches/bash52-011 --- old/bash-5.2-patches/bash52-011 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-5.2-patches/bash52-011 2022-11-23 23:12:50.000000000 +0100 @@ -0,0 +1,45 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.2 +Patch-ID: bash52-011 + +Bug-Reported-by: Fabien Orjollet <o...@disroot.org> +Bug-Reference-ID: +Bug-Reference-URL: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023776 + +Bug-Description: + +Patch (apply with `patch -p0'): + +Using timeouts and readline editing with the `read' builtin (read -e -t) can +leave the readline timeout enabled, potentially resulting in an erroneous +timeout on the next call. + +*** ../bash-5.2-patched/builtins/read.def 2022-06-02 14:23:19.000000000 -0400 +--- builtins/read.def 2022-11-10 10:27:45.000000000 -0500 +*************** +*** 168,171 **** +--- 168,174 ---- + if (read_timeout) + shtimer_clear (read_timeout); ++ #if defined (READLINE) ++ rl_clear_timeout (); ++ #endif + read_timeout = 0; + } +*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ Binary files old/bash-5.2-patches/bash52-011.sig and new/bash-5.2-patches/bash52-011.sig differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-5.2-patches/bash52-012 new/bash-5.2-patches/bash52-012 --- old/bash-5.2-patches/bash52-012 1970-01-01 01:00:00.000000000 +0100 +++ new/bash-5.2-patches/bash52-012 2022-11-23 23:13:03.000000000 +0100 @@ -0,0 +1,344 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.2 +Patch-ID: bash52-012 + +Bug-Reported-by: Kerin Millar <k...@plushkava.net> +Bug-Reference-ID: <20221002095107.89561bc811e549b55644d...@plushkava.net> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2022-10/msg00001.html + +Bug-Description: + +When running in bash compatibility mode, nested command substitutions can +leave the `extglob' option enabled. + +Patch (apply with `patch -p0'): + +*** /fs1/chet/scratch/bash-5.2.12/builtins/shopt.def 2022-11-07 10:31:42.000000000 -0500 +--- builtins/shopt.def 2022-10-14 09:30:11.000000000 -0400 +*************** +*** 150,153 **** +--- 150,158 ---- + #endif + ++ #if defined (EXTENDED_GLOB) ++ int extglob_flag = EXTGLOB_DEFAULT; ++ static int shopt_set_extglob PARAMS((char *, int)); ++ #endif ++ + int expaliases_flag = 0; + static int shopt_set_expaliases PARAMS((char *, int)); +*************** +*** 207,211 **** + #endif + #if defined (EXTENDED_GLOB) +! { "extglob", &extended_glob, (shopt_set_func_t *)NULL }, + #endif + { "extquote", &extended_quote, (shopt_set_func_t *)NULL }, +--- 212,216 ---- + #endif + #if defined (EXTENDED_GLOB) +! { "extglob", &extglob_flag, shopt_set_extglob }, + #endif + { "extquote", &extended_quote, (shopt_set_func_t *)NULL }, +*************** +*** 378,382 **** + + #if defined (EXTENDED_GLOB) +! extended_glob = EXTGLOB_DEFAULT; + #endif + +--- 383,387 ---- + + #if defined (EXTENDED_GLOB) +! extended_glob = extglob_flag = EXTGLOB_DEFAULT; + #endif + +*************** +*** 644,647 **** +--- 649,663 ---- + } + ++ #if defined (EXTENDED_GLOB) ++ static int ++ shopt_set_extglob (option_name, mode) ++ char *option_name; ++ int mode; ++ { ++ extended_glob = extglob_flag; ++ return 0; ++ } ++ #endif ++ + #if defined (READLINE) + static int +*** /fs1/chet/scratch/bash-5.2.12/builtins/common.h 2022-11-07 10:31:42.000000000 -0500 +--- builtins/common.h 2022-10-14 09:29:25.000000000 -0400 +*************** +*** 258,261 **** +--- 258,265 ---- + #endif + ++ #if defined (EXTENDED_GLOB) ++ extern int extglob_flag; ++ #endif ++ + extern int expaliases_flag; + +*** /fs1/chet/scratch/bash-5.2.12/execute_cmd.c 2022-11-07 10:31:42.000000000 -0500 +--- execute_cmd.c 2022-11-02 16:32:12.000000000 -0400 +*************** +*** 3991,4001 **** + #endif /* COND_REGEXP */ + { +- int oe; +- oe = extended_glob; + extended_glob = 1; + result = binary_test (cond->op->word, arg1, arg2, TEST_PATMATCH|TEST_ARITHEXP|TEST_LOCALE) + ? EXECUTION_SUCCESS + : EXECUTION_FAILURE; +! extended_glob = oe; + } + if (arg1 != nullstr) +--- 4015,4023 ---- + #endif /* COND_REGEXP */ + { + extended_glob = 1; + result = binary_test (cond->op->word, arg1, arg2, TEST_PATMATCH|TEST_ARITHEXP|TEST_LOCALE) + ? EXECUTION_SUCCESS + : EXECUTION_FAILURE; +! extended_glob = extglob_flag; + } + if (arg1 != nullstr) +*** /fs1/chet/scratch/bash-5.2.9/parse.y 2022-11-07 10:31:47.000000000 -0500 +--- parse.y 2022-11-14 11:27:22.000000000 -0500 +*************** +*** 126,130 **** + + #if defined (EXTENDED_GLOB) +! extern int extended_glob; + #endif + +--- 126,130 ---- + + #if defined (EXTENDED_GLOB) +! extern int extended_glob, extglob_flag; + #endif + +*************** +*** 3305,3309 **** + /* Reset to global value of extended glob */ + if (parser_state & (PST_EXTPAT|PST_CMDSUBST)) +! extended_glob = global_extglob; + #endif + if (parser_state & (PST_CMDSUBST|PST_STRING)) +--- 3321,3325 ---- + /* Reset to global value of extended glob */ + if (parser_state & (PST_EXTPAT|PST_CMDSUBST)) +! extended_glob = extglob_flag; + #endif + if (parser_state & (PST_CMDSUBST|PST_STRING)) +*************** +*** 4125,4132 **** + #if defined (EXTENDED_GLOB) + /* If (parser_state & PST_EXTPAT), we're parsing an extended pattern for a +! conditional command and have already set global_extglob appropriately. */ + if (shell_compatibility_level <= 51 && was_extpat == 0) + { +! local_extglob = global_extglob = extended_glob; + extended_glob = 1; + } +--- 4143,4150 ---- + #if defined (EXTENDED_GLOB) + /* If (parser_state & PST_EXTPAT), we're parsing an extended pattern for a +! conditional command and have already set extended_glob appropriately. */ + if (shell_compatibility_level <= 51 && was_extpat == 0) + { +! local_extglob = extended_glob; + extended_glob = 1; + } +*************** +*** 4236,4240 **** + sh_parser_state_t ps; + sh_input_line_state_t ls; +! int orig_ind, nc, sflags, start_lineno; + char *ret, *ep, *ostring; + +--- 4256,4260 ---- + sh_parser_state_t ps; + sh_input_line_state_t ls; +! int orig_ind, nc, sflags, start_lineno, local_extglob; + char *ret, *ep, *ostring; + +*************** +*** 4279,4283 **** + expand_aliases = 0; + #if defined (EXTENDED_GLOB) +! global_extglob = extended_glob; /* for reset_parser() */ + #endif + +--- 4299,4303 ---- + expand_aliases = 0; + #if defined (EXTENDED_GLOB) +! local_extglob = extended_glob; + #endif + +*************** +*** 4297,4300 **** +--- 4317,4323 ---- + restore_parser_state (&ps); + ++ #if defined (EXTENDED_GLOB) ++ extended_glob = local_extglob; ++ #endif + token_to_read = 0; + +*************** +*** 4732,4741 **** +--- 4755,4768 ---- + + /* rhs */ ++ #if defined (EXTENDED_GLOB) + local_extglob = extended_glob; + if (parser_state & PST_EXTPAT) + extended_glob = 1; ++ #endif + tok = read_token (READ); ++ #if defined (EXTENDED_GLOB) + if (parser_state & PST_EXTPAT) + extended_glob = local_extglob; ++ #endif + parser_state &= ~(PST_REGEXP|PST_EXTPAT); + +*************** +*** 4784,4788 **** + COND_COM *cexp; + +- global_extglob = extended_glob; + cexp = cond_expr (); + return (make_cond_command (cexp)); +--- 4811,4814 ---- +*** y.tab.c.save 2022-11-07 10:31:47.000000000 -0500 +--- y.tab.c 2022-11-18 15:58:03.000000000 -0500 +*************** +*** 176,180 **** + + #if defined (EXTENDED_GLOB) +! extern int extended_glob; + #endif + +--- 176,180 ---- + + #if defined (EXTENDED_GLOB) +! extern int extended_glob, extglob_flag; + #endif + +*************** +*** 5616,5620 **** + /* Reset to global value of extended glob */ + if (parser_state & (PST_EXTPAT|PST_CMDSUBST)) +! extended_glob = global_extglob; + #endif + if (parser_state & (PST_CMDSUBST|PST_STRING)) +--- 5616,5620 ---- + /* Reset to global value of extended glob */ + if (parser_state & (PST_EXTPAT|PST_CMDSUBST)) +! extended_glob = extglob_flag; + #endif + if (parser_state & (PST_CMDSUBST|PST_STRING)) +*************** +*** 6436,6443 **** + #if defined (EXTENDED_GLOB) + /* If (parser_state & PST_EXTPAT), we're parsing an extended pattern for a +! conditional command and have already set global_extglob appropriately. */ + if (shell_compatibility_level <= 51 && was_extpat == 0) + { +! local_extglob = global_extglob = extended_glob; + extended_glob = 1; + } +--- 6436,6443 ---- + #if defined (EXTENDED_GLOB) + /* If (parser_state & PST_EXTPAT), we're parsing an extended pattern for a +! conditional command and have already set extended_glob appropriately. */ + if (shell_compatibility_level <= 51 && was_extpat == 0) + { +! local_extglob = extended_glob; + extended_glob = 1; + } +*************** +*** 6547,6551 **** + sh_parser_state_t ps; + sh_input_line_state_t ls; +! int orig_ind, nc, sflags, start_lineno; + char *ret, *ep, *ostring; + +--- 6547,6551 ---- + sh_parser_state_t ps; + sh_input_line_state_t ls; +! int orig_ind, nc, sflags, start_lineno, local_extglob; + char *ret, *ep, *ostring; + +*************** +*** 6590,6594 **** + expand_aliases = 0; + #if defined (EXTENDED_GLOB) +! global_extglob = extended_glob; /* for reset_parser() */ + #endif + +--- 6590,6594 ---- + expand_aliases = 0; + #if defined (EXTENDED_GLOB) +! local_extglob = extended_glob; + #endif + +*************** +*** 6608,6611 **** +--- 6608,6614 ---- + restore_parser_state (&ps); + ++ #if defined (EXTENDED_GLOB) ++ extended_glob = local_extglob; ++ #endif + token_to_read = 0; + +*************** +*** 7043,7052 **** +--- 7046,7059 ---- + + /* rhs */ ++ #if defined (EXTENDED_GLOB) + local_extglob = extended_glob; + if (parser_state & PST_EXTPAT) + extended_glob = 1; ++ #endif + tok = read_token (READ); ++ #if defined (EXTENDED_GLOB) + if (parser_state & PST_EXTPAT) + extended_glob = local_extglob; ++ #endif + parser_state &= ~(PST_REGEXP|PST_EXTPAT); + +*************** +*** 7095,7099 **** + COND_COM *cexp; + +- global_extglob = extended_glob; + cexp = cond_expr (); + return (make_cond_command (cexp)); +--- 7102,7105 ---- +*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 +--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ Binary files old/bash-5.2-patches/bash52-012.sig and new/bash-5.2-patches/bash52-012.sig differ