summaryrefslogtreecommitdiffstats
path: root/source/a/bash/bash-5.0-patches/bash50-016
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/bash/bash-5.0-patches/bash50-016')
-rw-r--r--source/a/bash/bash-5.0-patches/bash50-01658
1 files changed, 58 insertions, 0 deletions
diff --git a/source/a/bash/bash-5.0-patches/bash50-016 b/source/a/bash/bash-5.0-patches/bash50-016
new file mode 100644
index 000000000..87f232d7a
--- /dev/null
+++ b/source/a/bash/bash-5.0-patches/bash50-016
@@ -0,0 +1,58 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.0
+Patch-ID: bash50-016
+
+Bug-Reported-by: sunnycemetery@gmail.com
+Bug-Reference-ID: <20190316041534.GB22884@midnight>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
+
+Bug-Description:
+
+Bash waits too long to reap /dev/fd process substitutions used as redirections
+with loops and group commands, which can lead to file descriptor exhaustion.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.0-patched/execute_cmd.c 2019-04-19 15:46:36.000000000 -0400
+--- execute_cmd.c 2019-07-01 16:45:49.000000000 -0400
+***************
+*** 1104,1107 ****
+--- 1085,1104 ----
+ discard_unwind_frame ("internal_fifos");
+ }
++ # if defined (HAVE_DEV_FD)
++ /* Reap process substitutions at the end of loops */
++ switch (command->type)
++ {
++ case cm_while:
++ case cm_until:
++ case cm_for:
++ case cm_group:
++ # if defined (ARITH_FOR_COMMAND)
++ case cm_arith_for:
++ # endif
++ reap_procsubs ();
++ default:
++ break;
++ }
++ # endif /* HAVE_DEV_FD */
+ #endif
+
+
+*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
+--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */