BASH PATCH REPORT ================= Bash-Release: 4.2 Patch-ID: bash42-026 Bug-Reported-by: Greg Wooledge Bug-Reference-ID: <20120425180443.GO22241@eeg.ccf.org> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00172.html Bug-Description: The `lastpipe' option does not behave correctly on machines where the open file limit is less than 256. Patch (apply with `patch -p0'): *** ../bash-4.2-patched/execute_cmd.c 2011-11-21 12:04:47.000000000 -0500 --- execute_cmd.c 2012-04-26 11:09:30.000000000 -0400 *************** *** 2206,2210 **** if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) { ! lstdin = move_to_high_fd (0, 0, 255); if (lstdin > 0) { --- 2325,2329 ---- if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) { ! lstdin = move_to_high_fd (0, 1, -1); if (lstdin > 0) { *************** *** 2252,2256 **** --- 2371,2377 ---- } + #if defined (JOB_CONTROL) discard_unwind_frame ("lastpipe-exec"); + #endif return (exec_result); *** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 --- patchlevel.h Thu Feb 24 21:41:34 2011 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 25 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 26 #endif /* _PATCHLEVEL_H_ */