BASH PATCH REPORT ================= Bash-Release: 3.2 Patch-ID: bash32-045 Bug-Reported-by: Roman Rakus Bug-Reference-ID: <4864B4A0.1060402@redhat.com> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-06/msg00098.html Bug-Description: When short-circuiting execution due to the `break' or `continue' builtins, bash did not preserve the value of $?. Patch: *** ../bash-3.2-patched/execute_cmd.c 2008-04-28 22:00:24.000000000 -0400 --- execute_cmd.c 2008-10-18 14:35:03.000000000 -0400 *************** *** 502,507 **** --- 514,526 ---- volatile int save_line_number; + #if 0 if (command == 0 || breaking || continuing || read_but_dont_execute) return (EXECUTION_SUCCESS); + #else + if (breaking || continuing) + return (last_command_exit_value); + if (command == 0 || read_but_dont_execute) + return (EXECUTION_SUCCESS); + #endif QUIT; *** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006 --- patchlevel.h Mon Oct 16 14:22:54 2006 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 44 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 45 #endif /* _PATCHLEVEL_H_ */