0043-patchlevel-43.patch 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. From http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-043
  2. Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
  3. BASH PATCH REPORT
  4. =================
  5. Bash-Release: 4.3
  6. Patch-ID: bash43-043
  7. Bug-Reported-by: lolilolicon <lolilolicon@gmail.com>
  8. Bug-Reference-ID: <CAMtVo_MF16KWanCB4C8WxA88Qt26zWsvV6V7+_U2fM0E6tCDxw@mail.gmail.com>
  9. Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00040.html
  10. Bug-Description:
  11. When the lastpipe option is enabled, the last component can contain nested
  12. pipelines and cause a segmentation fault under certain circumestances.
  13. Patch (apply with `patch -p0'):
  14. *** a/execute_cmd.c 2014-07-30 10:26:52.000000000 -0400
  15. --- b/execute_cmd.c 2014-08-15 08:55:24.000000000 -0400
  16. ***************
  17. *** 2406,2412 ****
  18. {
  19. #if defined (JOB_CONTROL)
  20. ! append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid);
  21. ! #endif
  22. lstdin = wait_for (lastpid);
  23. #if defined (JOB_CONTROL)
  24. /* If wait_for removes the job from the jobs table, use result of last
  25. --- 2433,2447 ----
  26. {
  27. #if defined (JOB_CONTROL)
  28. ! if (INVALID_JOB (lastpipe_jid) == 0)
  29. ! {
  30. ! append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid);
  31. ! lstdin = wait_for (lastpid);
  32. ! }
  33. ! else
  34. ! lstdin = wait_for_single_pid (lastpid); /* checks bgpids list */
  35. ! #else
  36. lstdin = wait_for (lastpid);
  37. + #endif
  38. +
  39. #if defined (JOB_CONTROL)
  40. /* If wait_for removes the job from the jobs table, use result of last
  41. *** a/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
  42. --- b/patchlevel.h 2014-03-20 20:01:28.000000000 -0400
  43. ***************
  44. *** 26,30 ****
  45. looks for to find the patch level (for the sccs version string). */
  46. ! #define PATCHLEVEL 42
  47. #endif /* _PATCHLEVEL_H_ */
  48. --- 26,30 ----
  49. looks for to find the patch level (for the sccs version string). */
  50. ! #define PATCHLEVEL 43
  51. #endif /* _PATCHLEVEL_H_ */