diff options
Diffstat (limited to 'debian/patches/bash51-003.diff')
-rw-r--r-- | debian/patches/bash51-003.diff | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/debian/patches/bash51-003.diff b/debian/patches/bash51-003.diff new file mode 100644 index 0000000..8d4600f --- /dev/null +++ b/debian/patches/bash51-003.diff @@ -0,0 +1,41 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 5.1 +Patch-ID: bash51-003 + +Bug-Reported-by: oguzismailuysal@gmail.com +Bug-Reference-ID: <CAH7i3LpG91BnNcDtaTUm2Ph7a+PnJkuh6nAc87cVL7_38tOaMQ@mail.gmail.com> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00050.html + +Bug-Description: + +Bash does not put a command substitution process that is started to perform an +expansion in a child process into the right process group where it can receive +keyboard-generated signals. + +--- 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 2 ++#define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ +--- a/subst.c ++++ b/subst.c +@@ -6356,8 +6356,10 @@ command_substitute (string, quoted, flag + + #if defined (JOB_CONTROL) + old_pipeline_pgrp = pipeline_pgrp; +- /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline. */ +- if ((subshell_environment & SUBSHELL_PIPE) == 0) ++ /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline or ++ we've already forked to run a disk command (and are expanding redirections, ++ for example). */ ++ if ((subshell_environment & (SUBSHELL_FORK|SUBSHELL_PIPE)) == 0) + pipeline_pgrp = shell_pgrp; + cleanup_the_pipeline (); + #endif /* JOB_CONTROL */ |