You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.5 KiB

  1. BASH PATCH REPORT
  2. =================
  3. Bash-Release: 5.0
  4. Patch-ID: bash50-016
  5. Bug-Reported-by: sunnycemetery@gmail.com
  6. Bug-Reference-ID: <20190316041534.GB22884@midnight>
  7. Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-03/msg00070.html
  8. Bug-Description:
  9. Bash waits too long to reap /dev/fd process substitutions used as redirections
  10. with loops and group commands, which can lead to file descriptor exhaustion.
  11. Patch (apply with `patch -p0'):
  12. *** a/execute_cmd.c 2019-04-19 15:46:36.000000000 -0400
  13. --- b/execute_cmd.c 2019-07-01 16:45:49.000000000 -0400
  14. ***************
  15. *** 1104,1107 ****
  16. --- 1085,1104 ----
  17. discard_unwind_frame ("internal_fifos");
  18. }
  19. + # if defined (HAVE_DEV_FD)
  20. + /* Reap process substitutions at the end of loops */
  21. + switch (command->type)
  22. + {
  23. + case cm_while:
  24. + case cm_until:
  25. + case cm_for:
  26. + case cm_group:
  27. + # if defined (ARITH_FOR_COMMAND)
  28. + case cm_arith_for:
  29. + # endif
  30. + reap_procsubs ();
  31. + default:
  32. + break;
  33. + }
  34. + # endif /* HAVE_DEV_FD */
  35. #endif
  36. *** a/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
  37. --- b/patchlevel.h 2016-10-01 11:01:28.000000000 -0400
  38. ***************
  39. *** 26,30 ****
  40. looks for to find the patch level (for the sccs version string). */
  41. ! #define PATCHLEVEL 15
  42. #endif /* _PATCHLEVEL_H_ */
  43. --- 26,30 ----
  44. looks for to find the patch level (for the sccs version string). */
  45. ! #define PATCHLEVEL 16
  46. #endif /* _PATCHLEVEL_H_ */