bash32-045   [plain text]


			     BASH PATCH REPORT
			     =================

Bash-Release: 3.2
Patch-ID: bash32-045

Bug-Reported-by:	Roman Rakus <rrakus@redhat.com>
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_ */