bash/bash32-047
2008-12-09 14:54:13 +00:00

66 lines
1.9 KiB
Plaintext

BASH PATCH REPORT
=================
Bash-Release: 3.2
Patch-ID: bash32-047
Bug-Reported-by: Roman Rakus <rrakus@redhat.com>
Bug-Reference-ID: <48A89EBC.906@redhat.com>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2008-08/msg00026.html
Bug-Description:
When using the `.' (source) builtin, under certain circumstances bash was
too careful in discarding state to preserve internal consistency. One
effect was that assignments to readonly variables would cause entire scripts
to be aborted instead of execution of the offending command. This behavior
was introduced by bash-3.2 patch 20.
Patch:
*** /usr/src/local/chet/src/bash/bash-3.2-patched/subst.c 2008-04-29 21:24:55.000000000 -0400
--- subst.c 2008-11-13 17:44:25.000000000 -0500
***************
*** 138,142 ****
extern int last_command_exit_value, last_command_exit_signal;
extern int subshell_environment;
! extern int subshell_level;
extern int eof_encountered;
extern int return_catch_flag, return_catch_value;
--- 138,142 ----
extern int last_command_exit_value, last_command_exit_signal;
extern int subshell_environment;
! extern int subshell_level, parse_and_execute_level;
extern int eof_encountered;
extern int return_catch_flag, return_catch_value;
***************
*** 7673,7677 ****
expanding_redir = 0;
! top_level_cleanup (); /* from sig.c */
jump_to_top_level (v);
--- 7673,7679 ----
expanding_redir = 0;
! if (parse_and_execute_level == 0)
! top_level_cleanup (); /* from sig.c */
!
jump_to_top_level (v);
*** ../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 46
#endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
looks for to find the patch level (for the sccs version string). */
! #define PATCHLEVEL 47
#endif /* _PATCHLEVEL_H_ */