Acked-by: Peter Müller <peter.mueller(a)ipfire.org> > - Update main file from 5.1 to 5.1.8 (includes patches 1 to 8) > - Remove patches 1 to 4 > - Changelog - Patches 1 to 4 from the previous IPFire version together with patches 5 to > 8 are now included into bash-5.1.8 followed by application of patches 9 to 12 > Patch 12 > There is a possible race condition that arises when a child process receives > a signal trapped by the parent before it can reset the signal dispositions. > The child process is not supposed to trap the signal in this circumstance. > Patch 11 > When reading a compound assignment, and running it through the parser to > split it into words, we need to save and restore any alias we're currently > expanding. > Patch 10 > If `wait -n' is interrupted by a trapped signal other than SIGINT, it does > not completely clean up state, and that can prevent subsequent calls to > `wait -n' from working correctly. > Patch 9 > The bash malloc implementation of malloc_usable_size() does not follow the > specification. This can cause library functions that use it to overwrite > memory bounds checking. > Patch 8 > Process substitution FIFOs opened by child processes as targets of redirections > were not removed appropriately, leaving remnants in the file system. > Patch 7 > The code to check readline versions in an inputrc file had the sense of the > comparisons reversed. > Patch 6 > Make sure child processes forked to run command substitutions are in the > proper process group. > Patch 5 > Fix two memory leaks when assigning arrays using compound assignment syntax. > > Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org> > --- > lfs/bash | 6 +- > src/patches/bash/bash51-001 | 80 --------------- > src/patches/bash/bash51-002 | 57 ----------- > src/patches/bash/bash51-003 | 53 ---------- > src/patches/bash/bash51-004 | 126 ----------------------- > src/patches/bash/bash51-009 | 59 +++++++++++ > src/patches/bash/bash51-010 | 59 +++++++++++ > src/patches/bash/bash51-011 | 81 +++++++++++++++ > src/patches/bash/bash51-012 | 198 ++++++++++++++++++++++++++++++++++++ > 9 files changed, 400 insertions(+), 319 deletions(-) > delete mode 100644 src/patches/bash/bash51-001 > delete mode 100644 src/patches/bash/bash51-002 > delete mode 100644 src/patches/bash/bash51-003 > delete mode 100644 src/patches/bash/bash51-004 > create mode 100644 src/patches/bash/bash51-009 > create mode 100644 src/patches/bash/bash51-010 > create mode 100644 src/patches/bash/bash51-011 > create mode 100644 src/patches/bash/bash51-012 > > diff --git a/lfs/bash b/lfs/bash > index 7b0baccad..1bf3eb2ec 100644 > --- a/lfs/bash > +++ b/lfs/bash > @@ -24,7 +24,7 @@ > > include Config > > -VER = 5.1 > +VER = 5.1.8 > > THISAPP = bash-$(VER) > DL_FILE = $(THISAPP).tar.gz > @@ -53,7 +53,7 @@ objects = $(DL_FILE) > > $(DL_FILE) = $(DL_FROM)/$(DL_FILE) > > -$(DL_FILE)_MD5 = bb91a17fd6c9032c26d0b2b78b50aff5 > +$(DL_FILE)_MD5 = 23eee6195b47318b9fd878e590ccb38c > > install : $(TARGET) > > @@ -87,7 +87,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) > sed -e "s/filename, RTLD_LAZY/filename, RTLD_NOW/" \ > -i $(DIR_APP)/builtins/enable.def > > - for i in $$(seq 1 4); do \ > + for i in $$(seq 9 12); do \ > cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/bash/bash51-$$(printf "%03d" "$${i}") || exit 1; \ > done > > diff --git a/src/patches/bash/bash51-001 b/src/patches/bash/bash51-001 > deleted file mode 100644 > index 6f29981d2..000000000 > --- a/src/patches/bash/bash51-001 > +++ /dev/null > @@ -1,80 +0,0 @@ > - BASH PATCH REPORT > - ================= > - > -Bash-Release: 5.1 > -Patch-ID: bash51-001 > - > -Bug-Reported-by: Fazal Majid <fazal(a)majid.org> > -Bug-Reference-ID: <DEAB7D2C-C626-450C-B2E5-281AFF2D26D4(a)majid.org> > -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00000.html > - > -Bug-Description: > - > -There is a missing dependency on a constructed file, which can cause highly > -parellel builds to fail. > - > -Patch (apply with `patch -p0'): > - > -*** ../bash-5.1-patched/Makefile.in 2020-12-04 09:51:19.000000000 -0500 > ---- Makefile.in 2020-12-16 11:28:36.000000000 -0500 > -*************** > -*** 1316,1319 **** > ---- 1316,1320 ---- > - bashline.o: pcomplete.h ${BASHINCDIR}/chartypes.h input.h > - bashline.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h > -+ bashline.o: ${DEFDIR}/builtext.h > - bracecomp.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h > - bracecomp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h > -*************** > -*** 1436,1439 **** > ---- 1437,1441 ---- > - builtins/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h > - builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h pathnames.h > -+ builtins/evalstring.o: ${DEFDIR}/builtext.h > - builtins/getopt.o: config.h ${BASHINCDIR}/memalloc.h > - builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h > - > -*** ../bash-5.1-patched/builtins/Makefile.in 2019-07-25 08:03:45.000000000 -0400 > ---- builtins/Makefile.in 2020-12-16 11:29:29.000000000 -0500 > -*************** > -*** 362,366 **** > - evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h > - evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h > -! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h > - #evalstring.o: $(topdir)/y.tab.h > - getopt.o: ../config.h $(BASHINCDIR)/memalloc.h > ---- 362,366 ---- > - evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h > - evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h > -! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h ./builtext.h > - #evalstring.o: $(topdir)/y.tab.h > - getopt.o: ../config.h $(BASHINCDIR)/memalloc.h > - > -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 > ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 > -*************** > -*** 1,5 **** > - /* patchlevel.h -- current bash patch level */ > - > -! /* Copyright (C) 2001-2016 Free Software Foundation, Inc. > - > - This file is part of GNU Bash, the Bourne Again SHell. > ---- 1,5 ---- > - /* patchlevel.h -- current bash patch level */ > - > -! /* Copyright (C) 2001-2020 Free Software Foundation, Inc. > - > - This file is part of GNU Bash, the Bourne Again SHell. > -*************** > -*** 26,30 **** > - looks for to find the patch level (for the sccs version string). */ > - > -! #define PATCHLEVEL 0 > - > - #endif /* _PATCHLEVEL_H_ */ > ---- 26,30 ---- > - looks for to find the patch level (for the sccs version string). */ > - > -! #define PATCHLEVEL 1 > - > - #endif /* _PATCHLEVEL_H_ */ > diff --git a/src/patches/bash/bash51-002 b/src/patches/bash/bash51-002 > deleted file mode 100644 > index 8c991649a..000000000 > --- a/src/patches/bash/bash51-002 > +++ /dev/null > @@ -1,57 +0,0 @@ > - BASH PATCH REPORT > - ================= > - > -Bash-Release: 5.1 > -Patch-ID: bash51-002 > - > -Bug-Reported-by: oguzismailuysal(a)gmail.com > -Bug-Reference-ID: <CAH7i3LoHFUa4aSF5-AD2r80HG-p-YzD_9ZxomarZkhP8NMq63g(a)mail.gmail.com> > -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00037.html > - > -Bug-Description: > - > -If there are no jobs, and the `-n' and `-p' options are both supplied to > -`wait', bash can assign a value to the variable name specified with `-p' > -instead of leaving it unset. > - > -Patch (apply with `patch -p0'): > - > -*** ../bash-5.1-patched/builtins/wait.def 2020-04-09 15:13:57.000000000 -0400 > ---- builtins/wait.def 2020-12-11 09:46:49.000000000 -0500 > -*************** > -*** 214,222 **** > - > - status = wait_for_any_job (wflags, &pstat); > -- if (status < 0) > -- status = 127; >